1. 一个HTML标签,以及css的clear属性,来手工清理浮动;(设置了 clear 属性的元素,其上边框位置会紧贴浮动元素的 margin-bottom 边界位置渲染,忽略其 margin-top 设置)
2. 伪类:after,动态建立一个块元素,设定 clear 属性,清理之前的浮动元素;
:after{content:""; display:block; clear:both; height:0; visibility:hidden;}
3. CSS overflow 非 visible 值(overflow:auto/overflow:hidden)设定使父容器包含浮动元素;
4. display:table/display:table-cell 等table系列属性将父元素变成 table 形式自动包含浮动元素;
5. TABLE 以及 TD 标签作为浮动元素容器;
6. float:left/float:right 方式将父元素同样浮动,就可以包含浮动内容;
7. IE 6/7 的标准文档模式中设置 “width/height/zoom” 等样式来自动清理浮动。
推荐: 1. 采用一个HTML标签,以及css的clear属性,来手工清理浮动; 2. 为元素设置 overflow:hidden 或 overflow:auto 值,配合可以设置 zoom:1 样式触发 IE6 haslayout 特性,来达到兼容所有浏览器清理浮动的目的。 3. 采用伪元素:after,配合可以设置 zoom:1 样式触发 IE6/7 haslayout 特性,来达到兼容所有浏览器清理浮动的目的。