方案一:
.clear{ clear:both; height:0; overflow:hidden; }
该办法是在需要清除浮动的地方加个div.clear或者br.clear,这样能解决基本清浮动问题;
但是这种方法的最大缺陷就是改变了html结构,虽然只是加个div
方案二:
.clearfix:after { content: "."; display: block; height: 0; line-height:0; clear: both; visibility: hidden}.clearfix { *+height: 1%;}
用法很简单,在浮动元素的父云素上添加class=”.. clearfix”
改变css写法
.demo:after, .demo2:after { content: "."; display: block; height: 0; clear: both; visibility: hidden}.demo, .demo2 { *+height:1%;}
以上写法就避免了改变html结构,直接用css解决了;
扩展:
*+heightIE7下识别这个高度,在其他浏览器,比如火狐,IE6、IE8等不识别这个高度
方案三:
.clearfix { overflow: auto; _height: 1%}
扩展:
_height 在ie 6 中为 最小高度min-height 在 ie7 中代表最小高度 一般控制 div 自动调整高度使用i6/i7/ff例如: _height:100px; /*控 ie6*/ min-height:100px;/*控ie7*/ height:auto;
方案四:
.clearfix { overflow: hidden; _zoom: 1;}