清除浮动css
浮动元素会脱离文档流,使得行内元素环绕它的效果,可是它也会形成父元素塌陷、元素重叠的问题,因此这个时候就须要清除浮动带来的影响。清除浮动的方法主要有三种:html
以这段代码为例:code
<div class="content"> <div class="a"></div> <div class="b"></div> 这里面是一段文字效果 </div> <style> .a, .b{ width:50px; height:100px; border: 1px solid green; } .a{ float:left; } .b{ float:right; } .content{ width:100%; border:1px solid pink; clear:both; } </style>
上面的代码中,因为a、b脱离文档流并分别位于content的两侧,而此时content的高度仅仅只是文字的高度,这是由于a、b两个元素浮动形成了父元素塌陷,那么消除浮动带来的影响呢?htm
div+clear文档
在content内加一个div的空白元素以下:class
<div class="content"> <div class="a"></div> <div class="b"></div> 这里面是一段文字效果 <div class="clearfix"></div> </div> <style> .clearfix{ clear:both; } </style>
伪元素+clear原理
.content:after{ content: ''; display: block; clear: both; }
BFC原理float
将content声明为BFC方法
.content{ overflow: hidden; }