全方位了解清理浮动的优缺点

发布时间:2020-08-27编辑:脚本学堂
清除浮动是常遇到的,大家不一定全方位的了解它?下面就给大家全方位总结了关于清理浮动的优缺点,也许不能面面俱到,但我知道的都列举出了,需要的朋友好好看看吧!

我们先看看清除浮动的办法一共有多少个(IE里面用zoom:1就不写了,下一个专题再写)。
1.采用伪类:after进行后续空制的高度位零的伪类层清除

2.采用CSS overflow:auto的方式撑高

3.采用CSS overflow:hidden的方式产生怪异适应

4.采用display:table将对象变成table形式

5.采用div标签,以及css的clear属性

6.采用br标签,以及css的clear属性

7.采用br标签,以及其自身HTML的clear属性

以上几点可以将问题解决;但又有着各自的利弊,下面和上面的几条一一对应解释。
1.优点:结构语义化完全正确。
 缺点:复用方式不当容易造成代码量急剧增大。
个人建议最外层轻浮动时或清晰模块化复用方式的人使用。

2.优点:结构语义化完全正确,代码量极少。
缺点:多个嵌套后,点击最外层的轻浮动框会使最外层至最内层内容全选(FF);或在mouseover造成宽度改变时会出现最外层模块有滚动条(IE)。
个人建议内个模块使用不要嵌套。

3.优点:结构语义化完全正确,代码量极少。
缺点:内容增多时不会自动换行而内容被隐藏掉。
个人建议宽度固定时使用不要嵌套。

4.优点:结构语义化完全正确,代码量极少。
缺点:盒模型属性已经改变,会引起其它的事情。
个人建议不要使用;但可以作为alpha版本当中临时性的忽悠下测试。

5.优点:代码量极少,复用性极高。
缺点:完全不能完美的适应语义化,不利于改版以及需求变更。
个人建议初学者使用,可以让你快速的解决浮动问题。

6.优点:语义化程度比第5种情况要更优;代码量极少,复用性极高。
缺点:语义化不够,不利于改版以及需求变更。
个人建议新手使用。

7.优点:语义化程度比第5、6种情况要更优;代码量最少,复用性极高。
缺点:语义化也不完美,不利于改版以及需求变更。
建议新手们使用时明白与其用classname来控制一种表现,还不如回归到WEB1.0的时代的网页直接用html属性来控制表现,后者的代码量更少。