各种tips汇总

才疏学浅,以下整理的东西有些可能还不成熟,措辞有待改进,但是都是我在敲代码的过程中,一点一滴积累总结的,如有不妥和错误,希望大家指正。

  

让行及元素变成块级元素的方式: position:absolute
                display:block
                float

p标签和div默认不改变width的情况下,width=父盒子width

margin:0 auto;在当前标签定位之后不好使!!!
那么想要在定位情况下实现居中怎么办:
>>> ①position:absolute(父盒子已经定位)
    ②left=50% height=50%
    ③margin-left=-本标签的border宽度大小的一半
    margin-height=-本标签的border高度大小的一半
    ③或者是
    transform: translateY(-50%);
    transform: translateX(-50%);

如果父盒子设置为display:none,则其孩子也都被隐藏。
若想单独设置孩子display:block,也无法实现

display:none;和visibility: hidden;都可以隐藏元素。
区别是display:none彻底不显示元素,元素不占空间,跟完全没有一样。
visibility: hidden只是把元素隐藏不显示,但还是占有原来的位置空间的。

 

让行内元素产生块级框的方法:
  1.display:block 产生块级框并换行,即右侧的margin为auto
  2.display:inline-block产生块级框,不换行,
  3.position:absolute;产生块级框,不换行,但是多个元素之间会发生重叠
  4.float浮动

 

 

问题:鼠标指上图片,图片慢动作放大,离开后又会慢动作缩回
解决办法:在hover伪类中加transition的同时,在图片选择器上加相同的transition
>>>同理得:如果要鼠标指上和离开同时出现 动画效果则:
①在hover中添加transition
②在其本身添加transition

 

 

问题:鼠标指上图片,图片慢动作放大,离开后又会慢动作缩回
解决办法:在hover伪类中加transition的同时,在图片选择器上加相同的transition
>>>同理得:如果要鼠标指上和离开同时出现 动画效果则:
①在hover中添加transition
②在其本身添加transition

问题: 在隐藏的情况下 hover之后 想实现 出现+动画效果
display:block display:none 做不到怎么办?
解决办法:第1步:给要隐藏的标签设置height=0或者width=0或者opacity=0
第2步:设置overflow:hidden让其中的内容隐藏
第3步:在hover伪类中设置height或width为想要的数值
第4步:在hover伪类中设置hover事件触发的transition实现出现的动画效果
在要操作的标签的css中设置transition实现消失的动画效果

新问题出现:动画类型:展开型 改width height
渐现型 改opacity
渐现型:因为opacity并不能释放占据空间,因此必须让height/width=0
所以有了不同属性的出现先后问题?
新问题解决办法:第1步:让需要隐藏的标签,不再占据空间:
①在选择器中,设置border:0px solid color;
②设置height/width=0 和 opacity=0
③如果有padding将 padding=0;
④设置:overflow:hidden,将其内部元素一同隐藏

第2步: ①在hover伪类中设置height/width,border,padding等
让上述样式在hover事件一触发就出现。
②确定主动画元素(如opacity),给opacity设transition

第3步: ①在选择器中设置opacity/height的transition
让他们按照动画消失
②使用transition设置delay时间
让border、padding等在主动画之后消失

 

banner图的实现总结:
在动画实现banner图中,设计了三层div最后一层div中有多个img
1.最外层div的width:100%为的是跟随浏览器变化而变化,并且可以用来设置背景,因为背景颜色或背景图不可能覆盖整个body区,需要用高度控制背景图覆盖区域
2.第二层定width=banner图宽度 或者是里面的内容width 目的是为了居中,此div居中,所以里面的内容永远在浏览器中居中
3.第三层是为了盛放多个元素组合儿存在,如果只有一个元素,则不需要第三层,直接将次块级元素放在第二层即可
多个元素可以是在同一行,也可以是在同一列,也可以既有行又有列
同一列是为了当浏览器缩小,让他们 同步居中
>>> 总结:第一层:放背景,随浏览器变化而变化
第二层:定居中
第三层:盛东西

 

 

当父盒子内部的元素全部浮动的时候,且父盒子没有定高度的时候,父盒子会塌陷
为了不影响下面与父盒子同级的盒子布局,在新的盒子上添加clear:both
>>>或者在本盒子上加overflow:hidden 这个做法会使本盒子包裹内部元素,
使得本盒子的高度等于内部最大元素

 

overflow:hidden作用1.让塌陷的回到内部元素填充的大小
        (不定height width(宽高由内部填充物的宽高决定)或者height,width为百分比形式)
          2.让超出部分隐藏
         (定住width height)
          3.让单行多出文字变省略号

posted @ 2017-04-04 23:43  奶油面包好好吃啊  阅读(123)  评论(0编辑  收藏  举报