bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

CSS清除浮動的原因及方法-創新互聯

本篇內容介紹了“CSS清除浮動的原因及方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

創新互聯建站長期為1000多家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為白沙黎族企業提供專業的成都網站制作、成都做網站,白沙黎族網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發。

清除浮動的原因

假設一個 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>


CSS清除浮動的原因及方法

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

加入空 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>


CSS清除浮動的原因及方法

這個方法看似簡單,但是如果清除浮動的地方較多,會產生很多無意義的 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>


 CSS清除浮動的原因及方法


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

設定父級 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>


 CSS清除浮動的原因及方法


這個看上去又簡單又實用,但是你不能對父級 div 設置高度,一旦父級 div 設置了固定高度,那么浮動元素超出的部分也會被隱藏。

代碼如下:


<style>
#a {
 width: 100px;
 height: 20px;
 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>


CSS清除浮動的原因及方法

當使用 overflow: auto 屬性同時設定固定高度時效果為:

CSS清除浮動的原因及方法

設置父級 div 偽類 before && after

這個方法即問題中介紹的新方法,對父級 div 設置偽類 before 和 after 的值。

代碼如下:


<style>
#a {
 width: 100px;
 border: 1px solid #ccc;
}
#a:before, #a:after {
 content: "";
 display: block;
 clear: both;
 height: 0;
 visibility: hidden;
}
#b {
 height: 50px;
 float: left;
 border: 1px solid #ccc;
}
</style>
<div id="a">A
 <div id="b">B</div>
</div>


 CSS清除浮動的原因及方法


這個方法應該是很好方案,即不會產生無意義的空 div,同時當父級元素高度固定時并不會影響內部的浮動元素高度。但是一點就是偽類的兼容性問題。對于低版本的 IE 瀏覽器我們可以使用:

代碼如下:


#a {
 zoom:1
}


在閱讀了 @ShingChi 兄推薦的這篇博文 - http://nicolasgallagher.com/micro-clearfix-hack/ 后,我們還可以進一步地簡化代碼如下:

代碼如下:


<style>
#a {
 width: 100px;
 border: 1px solid #ccc;
}
#a:before, #a:after {
 content: "";
 display: table;
 clear: both;
}
#b {
 height: 50px;
 float: left;
 border: 1px solid #ccc;
}
</style>
<div id="a">A
 <div id="b">B</div>
</div>


“CSS清除浮動的原因及方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注創新互聯網站,小編將為大家輸出更多高質量的實用文章!

標題名稱:CSS清除浮動的原因及方法-創新互聯
鏈接分享:http://vcdvsql.cn/article8/cecjop.html

成都網站建設公司_創新互聯,為您提供微信小程序商城網站網站收錄網頁設計公司電子商務虛擬主機

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設