国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

CSS清除浮動方法總結

2024-07-11 08:30:48
字體:
來源:轉載
供稿:網友

清除浮動的原因

假設一個 div 內部有個浮動的 div,當內部 div 的高度要比外層的父級 div 高度大時,將會導致父級 div 高度無法隨著內部 div 的高度自適應,這是由于浮動元素已經脫離了正常文檔流,因此無法對父級元素產生影響。舉例如下:


復制代碼
代碼如下:
<style>
#a {
width: 100px;
border: 1px solid #ccc;
}
#b {
height: 50px;
float: left;
border: 1px solid #ccc;
}
</style>
<div id="a">A
<div id="b">B</div>
</div>

請輸入圖片描述

此時,我們就需要手動來清除浮動。

加入空 div

這是我之前的做法,即在結尾處添加一個空的 div,并設置 clear: both 屬性。


復制代碼
代碼如下:
<style>
#a {
width: 100px;
border: 1px solid #ccc;
}
#b {
height: 50px;
float: left;
border: 1px solid #ccc;
}
#clear {
clear: both;
}
</style>
<div id="a">A
<div id="b">B</div>
<div id="clear"></div>
</div>

請輸入圖片描述

這個方法看似簡單,但是如果清除浮動的地方較多,會產生很多無意義的 div,對于整個 HTML 結構無疑是有弊端的。

設定父級 div 高度

這個方法有點 hard code,由于父級 div 無法高度自適應,因此我們可以直接給父級 div 設置一個固定的高度值,如上例,考慮到 border 的值,設定父級 div 高度為 52px。


復制代碼
代碼如下:
<style>
#a {
width: 100px;
height: 52px;
border: 1px solid #ccc;
}
#b {
height: 50px;
float: left;
border: 1px solid #ccc;
}
</style>
<div id="a">A
<div id="b">B</div>
</div>

 請輸入圖片描述

這個方法很快速但也脆弱,一旦內部浮動元素高度發生變化就無效了,所以只能應用于高度固定的場景。

設定父級 div 屬性 overflow

直接給父級 div 添加 overflow: hidden 或 overflow: auto 屬性,這里以 overflow: hidden 為例。


復制代碼
代碼如下:
<style>
#a {
width: 100px;
border: 1px solid #ccc;
overflow: hidden;
}
#b {
height: 50px;
float: left;
border: 1px solid #ccc;
}
</style>
<div id="a">A
<div id="b">B</div>
</div>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新沂市| 祁阳县| 新龙县| 襄汾县| 民丰县| 正宁县| 和林格尔县| 福建省| 子长县| 霍州市| 达州市| 枣强县| 马边| 尖扎县| 霍林郭勒市| 苍梧县| 松潘县| 镇平县| 盐亭县| 边坝县| 华宁县| 和硕县| 沙湾县| 平顺县| 乌恰县| 休宁县| 镇雄县| 秀山| 潢川县| 抚宁县| 农安县| 上思县| 灵宝市| 蓝山县| 东阳市| 枣强县| 桑植县| 锡林郭勒盟| 南京市| 吴忠市| 阿拉善左旗|