「流」,文檔流,是CSS中最基本的定位和佈局機制。css
瀏覽器中的元素默認的從左到右(內聯元素),從上到下(塊級元素)如同流水通常堆砌的佈局方式。html
float屬性的特性以下:web
前三個屬性都是十分優秀的特性,可是第四個屬性有些時候就會產生很大的問題,所以咱們在使用float的時候要考慮清除這種高度塌陷,以下圖所示。瀏覽器
CSS部分代碼:bash
.wreap{
border: 1px solid #000000;
}
.size{
width: 100px;
height: 100px;
background-color: red;
float: left;
}
.box{
margin: 10px;
}
.box1 {
background-color: blue;
}
.clear{
clear: both;
}複製代碼
HTML部分代碼:佈局
<body> <div class="wreap"> <div class="box size"></div> <div class="box size box1"></div> </div> </body>複製代碼
(1)clear:both清除浮動元素的浮動spa
代碼在上述的基礎上,就在具備box1樣式的div下面增長了一個具備clear:both屬性的divcode
<body> <div class="wreap"> <div class="box size"></div> <div class="box size box1"></div> <div class="clear"></div> </div> </body>複製代碼
固然直接使用僞元素:alter能更優雅的實現清除浮動大體代碼以下:orm
.wreap{
border: 1px solid #000000;
}
.size{
width: 100px;
height: 100px;
background-color: red;
float: left;
}
.box{
margin: 10px;
}
.box1 {
background-color: blue;
}
.clear:after{
content: "";
display: block;
clear: both;
}複製代碼
<body>
<div class="wreap clear">
<div class="box size"></div>
<div class="box size box1"></div>
</div>
</body>複製代碼
能夠吧clear:alter這一條寫到全局樣式,哪裏須要清除浮動,直接在對應的位置加上clear便可。cdn
(2)經過構建BFC清除浮動
BFC的特性一下子會詳細介紹,其中之一就是BFC會包含浮動的塊,即其會被浮動的元素撐開。
因此將浮動元素的父元素變爲BFC也能夠解決浮動。
BFC(Block Formatting Context) 格式化上下文,是web中盒模型的一種佈局和css渲染模式,簡單的來講,就是構成了BFC的元素就如同上了個buff結界,其會變成了一個獨立和外界隔絕的容器,不管內部如何折騰,都不會影響到外界,一樣外界也影響不到他。