每次编辑页面时候总会遇到浮动问题,当时的解决方法结束百度一个然后应用,但其实没有真正理解到底为什么。所以当再次使用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的空元素