1.清除浮动
下面是两种常用的方式,而这两招也够用了(不用千招会,只需一招精)。
1.结尾处加空div标签 clear:both
<style type="text/css"> .left{float:left;} .right{float:right;} /*清除浮动代码*/ .clearfloat{clear:both} </style> <div> <div class="left">Left</div> <div class="right">Right</div> <div class="clearfloat"></div> </div>
缺点:每次清除浮动都加空div,影响了HTML的结构,例如如果要算div的个数,都会被影响到。
2.父级div定义 伪类:after
<style type="text/css"> .left{float:left;} .right{float:right;} .clearfloat:after{ content:"\200B";/*unicode字符里零宽度空格*/ display:block; height:0; clear:both; } </style> <div class="clearfloat"> <div class="left">Left</div> <div class="right">Right</div> </div>
我更倾向使用这种清除浮动的方式,不增加HTML,浏览器兼容性也好,写法在我看来也简洁。
PS:不过如果要兼容IE6、IE7,就需要加多个zoom:1。