1、在浮動元素後面添加一個空的標籤,並且讓這個標籤樣式爲:clear:both;
2、父元素直接設置一個高度,放置子元素高度超過父元素高度,無法正常顯示
3、父元素overflow:hidden;超出的部分隱藏,但是有一個缺點,當內部浮動元素過多的時候就會造成多出的浮動元素不會自動換行,從而造成超出內容的元素顯示不出來;
4、僞類元素:after清楚浮動,其實和第一個方法原理類似如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>盒子模型</title>
<style type="text/css">
*{
margin: 0;
padding:0;
}
.Content{
background: blue;
width: 400px;
}
.left{
float: left;
width: 100px;
height: 100px;
background: red;
}
.right{
float: right;
width: 100px;
height: 50px;
background: yellow;
}
.father:after{
content:"."; clear: both; height: 0; overflow: hidden; visibility: hidden; display: block
}
.father{
zoom: 1;
}
</style>
</head>
<body>
<div class="Content father">
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>
結果:
這樣即使父元素沒有設置高度,也可以讓子元素撐起父元素得高度,完成清楚浮動;