关于清除浮动,在编写前端页面中一定遇到的不少,首先应该清楚:浮动 Floats 是 CSS 中的一种布局方式。它的渲染位置在行框与包含块之间,这样就可以使行框内文字与浮动元素不重叠并且环绕它显示。在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
下面我们就清除浮动一一罗列一些方法:
使用 clear 样式清除
设置了 clear 属性的元素,其上边框位置会紧贴浮动元素的 margin-bottom 边界位置渲染,忽略其 margin-top 设置。这样,父容器高度未设定(值是 auto)时,由于定义的清理浮动样式元素所在位置处于浮动元素之下,容器计算后的实际高度就包含了浮动元素。
eg:
.clear{clear:both;}
使用伪元素 :after 清除
after 伪元素是在 CSS 2 规范内提出的,IE8以上和非IE浏览器才支持:after。它的作用是在指定该伪元素元素内,所有子元素最后自动生成一个伪元素,并可以为这个伪元素设定样式。在设定样式中,使用 clear 属性即可达到与手工添加元素指定清理的效果。
父级div定义 overflow:hidden
必须定义width或zoom:1,同时不能定义height,使用overflow:hidden时,浏览器会自动检查浮动区域的高度 。但是不能和position配合使用,因为超出的尺寸的会被隐藏。
eg:overflow_float{overflow:hidden;}
或者overflow_float{overflow:auto;}
对于初学者上面三种清除方法足够工作中的使用,如果有兴趣可以研究新的方法。