浮动总结及其清除方法

    每次编辑页面时候总会遇到浮动问题,当时的解决方法结束百度一个然后应用,但其实没有真正理解到底为什么。所以当再次使用float的时候又是状况百出,才意识到真的有必要去理清这个问题,这样才是真正的“一劳永逸”的方法。下面是自己根据他人的结论和自己的各种情况举例得到的总结:

    2.当全部第一代级子级浮动,父级无法撑开导致子级溢出情况:

        1).在父级结束之前添加一个带有clear:both属性的空元素--->padding不受影响

             缺点:margin失效,需要大量无意义HTML元素,后期维护不易

        2).直接父级使用overflow:hidden/auto清除浮动------>margin、padding不受影响

             注意:IE6会触发layout,则在父级元素内添加*zom:1;

        3).(推荐)使用:after伪元素----->实现元素末尾添加一块看不见的块元素以清除浮动

               注意:clear:both与content:value不能缺(content表示在该元素之后添加的内容(:before则是之前添加的内容));

                         结合IEhack,会触发layout,在父级元素内添加*zom:1。

        4).给其父级添加父级

             缺点:会导致整体浮动,影响布局

    3.当同级间出现一个浮动----->父级不受影响;而下一个相邻同级受影响:

        1).对下一个同级元素添加clear:both属性以清除同级浮动对奇葩影响

        2).在之间添加一个带clear:both的空元素

你可能感兴趣的:(浮动总结及其清除方法)