zoukankan      html  css  js  c++  java
  • 深入了解float

    1.float的历史
       初衷是为了图片的文字环绕,将img设置float

    2.破坏性与包裹性
      a.父元素没有设置高度,内部元素浮动后,服务元素的高度被破坏了,可以将其父元素设置overflow:hidden;
        记住:这不是bug,这是标准,特性使然(初衷就是为了文字环绕,如果高度不塌陷,下面面的文字怎么上来环绕呀!)

      b.float会使元素block块状化
      c.去空格化


    3.清除浮动带来的影响
       a.clear
         * 底部挂一个div
         * after伪元素底部生成

       b.BFC/haslayout
          overflow:hidden/scroll(IE7+)
          display:inline-block/table-cell(IE8+)
          width/height/zoom:1(IE6/IE7)

    c.权衡后的方案
      将fix类添加到内部元素有浮动的盒子上,别乱用,否则IE6/IE7会出bug
      .fix:after{content:"";display:block;height:0;overflow:hidden;clear:both;}
      .fix{*zoom:1;}

      或者
      .fix:after{content:"";display:table;clear:both;}
      .fix{*zoom:1;}

    5.float兼容性(合理使用浮动,且用且珍惜)
      * IE6:
        a.双倍边距bug
        b.跟随浮动元素3px的bug
        c.浮动元素后面跟随的斜体文字有下倾的bug
      * IE7:(不要问为什么,这是灵异现象)
        a.含clear的浮动元素包裹不正确bug
        b.浮动元素倒数2个元素莫名垂直间距bug
        c.浮动元素最后一个字符重复bug
        d.浮动元素楼梯排列bug
        e.浮动元素和文本不在同一行的bug

  • 相关阅读:
    iota妙用
    io
    http
    gosched
    go设置使用多少个cpu
    go协程的特点
    go条件变量同步机制
    Go奇技淫巧
    U5首次登录
    Maven安装中的问题
  • 原文地址:https://www.cnblogs.com/xfz1987/p/5607439.html
Copyright © 2011-2022 走看看