还是再看w3cplus网站,一篇关于清除浮动的文章中提到——清除浮动的三种方式,啥!还有两种吗?我从来都只知道用clear:both哦,在浮动的div后面插入一个清除浮动的div即可了……果然是水了啊我!
第二种清理浮动的方式十分便捷,不必再添加一个DIV了。只需要给父级div添加一个css属性:overflow: auto;当然这个属性IE它又不支持,因此要hack一下了,使用 zoom:1;来触发IE的块级格式化,呃,酱紫就好了。不过,overflow在CSS手册里面有它自己的用途了,还是尽量少用吧。
第三中清理浮动的方式:据说这种方式很受欢迎,即使用clearfix,伪类:before和:after,这种方式清除浮动的原理其实跟插入一个div相似,只不过它是使用css来实现的。
然而在我看完很多篇博文之后,发现,欧耶,还有一个办法——将父级元素也浮动好了,这样的话,浮动就会关闭了。
第二种清理浮动的方式十分便捷,不必再添加一个DIV了。只需要给父级div添加一个css属性:overflow: auto;当然这个属性IE它又不支持,因此要hack一下了,使用 zoom:1;来触发IE的块级格式化,呃,酱紫就好了。不过,overflow在CSS手册里面有它自己的用途了,还是尽量少用吧。
第三中清理浮动的方式:据说这种方式很受欢迎,即使用clearfix,伪类:before和:after,这种方式清除浮动的原理其实跟插入一个div相似,只不过它是使用css来实现的。
.clearfix:before, .clearfix:after { content: ""; display: block; height: 0; visibility: hidden; } .clearfix:after {clear: both;} .clearfix {zoom: 1;} /* IE < 8 */
然而在我看完很多篇博文之后,发现,欧耶,还有一个办法——将父级元素也浮动好了,这样的话,浮动就会关闭了。