css浮動(dòng)清除

1. 什么是浮動(dòng)

當(dāng)元素的 float 屬性不為 none 時(shí)就產(chǎn)生了浮動(dòng)。

2. 浮動(dòng)影響

  1. 浮動(dòng)元素的外邊距不會(huì)合并。
  2. 浮動(dòng)非替換元素時(shí)必須設(shè)定寬度。
  3. 浮動(dòng)元素會(huì)脫離文檔流但不會(huì)脫離文本流,因而會(huì)造成文本環(huán)繞效果,而這也是浮動(dòng)的本意。
  4. 不管是塊級(jí)元素還是內(nèi)聯(lián)元素,一旦浮動(dòng)就會(huì)變成行內(nèi)塊元素(即display: inline-block;)
  5. 如果浮動(dòng)元素應(yīng)用了負(fù)外邊距而導(dǎo)致其與相鄰元素重疊,分兩種情況:
  • 行內(nèi)框與一個(gè)浮動(dòng)元素重疊時(shí),其邊框、背景和內(nèi)容都在該浮動(dòng)元素之上顯示。
  • 塊框與一個(gè)浮動(dòng)元素重疊時(shí),其邊框和背景都在該浮動(dòng)元素之下顯示,而內(nèi)容在浮動(dòng)元素之上顯示。

3.清除浮動(dòng)

上面提到過浮動(dòng)元素是不具備高度的,因此會(huì)造成父元素高度塌陷,可以通過以下方法來清除浮動(dòng)。不僅要知道什么方式可以清除浮動(dòng),更要知道這些方法是如何清除浮動(dòng)的。

1.浮動(dòng)父元素

CSS 2.1中提到了浮動(dòng)的一個(gè)特性:浮動(dòng)元素會(huì)延伸,從而包含其所有后代元素。但這有點(diǎn)拆了東墻補(bǔ)西墻的意味,不推薦。
應(yīng)用對(duì)象:父元素

2.overflow屬性

overflow 屬性本意是規(guī)定了當(dāng)內(nèi)容溢出元素框時(shí)發(fā)生的事情。但當(dāng)其屬性值為hidden或auto時(shí),它會(huì)自動(dòng)的清理包含的任何浮動(dòng)元素,也就意味著它是認(rèn)可浮動(dòng)元素的高度的。但在某些情況下,使用該方法會(huì)產(chǎn)生滾動(dòng)條或截?cái)鄡?nèi)容。所以使用時(shí)需謹(jǐn)慎。
應(yīng)用對(duì)象:父元素

3.clear屬性

clear屬性會(huì)給該元素添加足夠的外邊距,從而達(dá)到清除浮動(dòng)的效果。clear 屬性的值可以是:left、right、both或none。
應(yīng)用對(duì)象:相鄰元素
4.偽元素
在沒有現(xiàn)成元素可以應(yīng)用clear屬性時(shí),我們可以使用偽元素:

 .clearfix::after {
    content: '';
    display: block;
    visibility: hidden;
    height: 0;
    clear: both;
}

注:after 會(huì)在元素內(nèi)容后面而不是元素后面插入一個(gè)偽元素。
應(yīng)用對(duì)象:父元素

5.空元素

當(dāng)然,我們也可以直接在浮動(dòng)元素后面添加一個(gè)空元素,如下:

 <div style="clear:both;"></div>

同樣可以達(dá)到清除浮動(dòng)的效果,但會(huì)增加不必要的代碼,不推薦。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,168評(píng)論 1 92
  • 文章版權(quán)歸饑人谷_Lyndon以及饑人谷所有。 1. 浮動(dòng)元素有什么特征?對(duì)父容器、其他浮動(dòng)元素、普通元素、文字分...
    HungerLyndon閱讀 2,477評(píng)論 4 10
  • float : left | right | none 設(shè)計(jì)之初的作用是做文字環(huán)繞 p標(biāo)簽段落雙標(biāo)簽塊級(jí) i...
    雅玲啞鈴閱讀 560評(píng)論 0 1
  • 1.CSS基本概念 1.1 CSS的定義 CSS(Cascading Style Sheets)層疊樣式表,主要用...
    寥寥十一閱讀 2,068評(píng)論 0 6
  • 前段時(shí)間聽《漢密爾頓》意猶未盡,看到易中天老師推薦此書,趁假期讀完。講的通俗易懂文筆輕松。做份讀書筆記,免得日后全...
    高小尚閱讀 1,148評(píng)論 2 3

友情鏈接更多精彩內(nèi)容