高度塌陷:css
第一種運用clear的方式在須要清浮動的元素下放一個div,並加上clear:both
htmlhtml
<div class="content" >
<div class='float'></div>
</div>
<div class='clear'></div>
<p>some text</p>
複製代碼
cssbash
.float{
width:300px;height:300px;
float:left;
background: green;
opacity: .5;
}
p{
background:red;
}
.clear{
clear:both;
}
複製代碼
第二種方式是用僞元素:before
或:after
html佈局
<div class="content" >
<div class='float'></div>
</div>
<p>some text</p>
複製代碼
cssui
.content:after{
content:'';
display:'block';
clear:both;
}
float{
width:300px;height:300px;
float:left;
background: green;
opacity: .5;
}
p{
background:red;
}
複製代碼
該方法利用了BFC的特性,當元素有如下特性時,觸發BFCspa
html
根元素float
的值不爲none
overflow
的值爲hidden、auto或scrollposition
的值不爲static
或relative
display
的值爲table-cell
、table-caption
、或inline-block
html3d
<div class="content" >
<div class="float"></div>
</div>
<p>some text</p>
複製代碼
csscode
.content{
overflow: hidden;
}
.float{
float:left;
width:100px;height:100px;
background: green;
opacity: .5;
}
p{
background:red;
}
複製代碼
清除浮動效果圖:cdn