网页编辑工具
清除浮动主要有两类方法。1.对父元素中最后一个元素清除浮动。通常为了不影响布局,我们会在浮动元素末尾添加一个空的标签对。然后设置属性为clear:both。例如
。这种方法兼容性好,但是会增加一些无意义的标签,尤其是页面中大量用到清除浮动时候。还有一种替代方案,原理是一样的。.clearfix:after {content:'.'; display:block; height:0; visibility:hidden; clear:both; }.clearfix { *zoom:1; }解释一下,在父元素上添加.clearifix样式后,会在末尾添加一个伪元素,内容为”.“ 拥有清除浮动的属性。这样就和上一种方一样,但是没有增加额外的标签。下面一行是为了兼容ieliu浏览器。因为ie不支持:after。所以就要采取我们接下来要介绍的另一类方法。
触发BFC的属性float 除了none以外的值 overflow 除了visible 以外的值(hidden,auto,scroll ) display (table-cell,table-caption,inline-block) position(absolute,fixed) fieldset元素
触发hasLayoutposition: absolute float: left|right display: inline-block width: 除 “auto” 外的任意值 height: 除 “auto” 外的任意值 zoom: 除 “normal” 外的任意值 也就是说父元素上有这些属性的时候,就不需要清除浮动了。但是这些属性通常会影响到布局,所以我们经常会用不影响布局的zoom:1,来触发ie的hasLayout。
综上我们推荐用.clearfix的方法。当然这里只是一个总结,还有一些其他的方法可以用,或者可以不使用float布局。