清除浮動的方法

浮動對頁面的影響:

如果一個(gè)父盒子中有一個(gè)子盒子饰豺,并且父盒子沒有設(shè)置高晦闰,子盒子在父盒子中進(jìn)行了浮動,那么將來父盒子的高度為0.由于父盒子的高度為0吻贿,

下面的元素會自動補(bǔ)位串结,所以這個(gè)時(shí)候要進(jìn)行浮動的清除。

關(guān)于清除浮動的方式:

- 方式一:使用overflow屬性來清除浮動

overflow:hidden;

先找到浮動盒子的父元素舅列,再在父元素中添加一個(gè)屬性:overflow:hidden,就是清除這個(gè)父元素中的子元素浮動對頁面的影響.

注意:一般情況下也不會使用這種方式肌割,因?yàn)閛verflow:hidden有一個(gè)特點(diǎn),離開了這個(gè)元素所在的區(qū)域以后會被隱藏(overflow:hidden會將超出的部分隱藏起來).

或者 overflow:auto

優(yōu)點(diǎn):簡單帐要,代碼少把敞,瀏覽器支持好

缺點(diǎn): 內(nèi)部寬高超過父級div時(shí),會出現(xiàn)滾動條

- 方式二:使用額外標(biāo)簽法

.clear{

clear:both;

}

在浮動的盒子之下再放一個(gè)標(biāo)簽榨惠,在這個(gè)標(biāo)簽中使用clear:both奋早,來清除浮動對頁面的影響.

a.內(nèi)部標(biāo)簽:會將這個(gè)浮動盒子的父盒子高度重新?lián)伍_.

b.外部標(biāo)簽:會將這個(gè)浮動盒子的影響清除盛霎,但是不會撐開父盒子.

注意:一般情況下不會使用這一種方式來清除浮動。因?yàn)檫@種清除浮動的方式會增加頁面的標(biāo)簽耽装,造成結(jié)構(gòu)的混亂.


- 方法三:使用偽元素來清除浮動(after意思:后來,以后)

.clearfix:after{

content:"";//設(shè)置內(nèi)容為空

height:0;//高度為0

line-height:0;//行高為0

display:block;//將文本轉(zhuǎn)為塊級元素

visibility:hidden;//將元素隱藏

clear:both//清除浮動

}

.clearfix{

zoom:1;為了兼容IE

}

- 方法四:使用雙偽元素清除浮動

.clearfix:before,.clearfix:after{

?????????????content: "";

?????????????display: block;

?????????????clear: both;

??????? }

??????? .clearfix {

????????????? zoom:1;

??????? }

總結(jié):第一種方法會將超出部分隱藏在某些時(shí)候我們想清除浮動并且保留超出部分時(shí)做不到,第二種方法會增加許多不必要的標(biāo)簽,

所以我們盡量使用第三種方法來清除浮動,為什么不選擇第四種方法呢?因?yàn)榈谒姆N是第三種的改良版雖然比較簡便,但是不嚴(yán)謹(jǐn)愤炸。


BFC

w3c 規(guī)范中的 BFC 定義

浮動元素和絕對定位元素,非塊級盒子的塊級容器(例如 inline- blocks, table-cells掉奄,和 table- captions)规个,以及 overflow 值不為 visiable'的塊級盒子,都會為他們的內(nèi)容創(chuàng)建新的BFC(塊級格式上下文)姓建。

在 BFC 中诞仓,盒子從頂端開始垂直地一個(gè)接一個(gè)地排列,兩個(gè)盒子之間的垂直的間隙是由他們的 margin 值所決定的速兔。在一個(gè) BFC 中墅拭,兩個(gè)相部的塊級盒子的垂直外邊距會產(chǎn)生折疊。

在 BFC 中憨栽,每一個(gè)盒子的左外邊緣(margin-left)會觸碰到容器的左邊緣(border-left)(對于從右到左的格式來說帜矾,則觸碰到右邊緣)翼虫。

BFC 的通俗理解:

首先 BFC 是一個(gè)名詞屑柔,是一個(gè)獨(dú)立的布局環(huán)境,我們可以理解為一個(gè)箱子(實(shí)際上是看不見 摸不著的)珍剑,箱子里面物品的擺放是不受外界的影響的掸宛。轉(zhuǎn)換為 BFC 的理解則是:BFC 中的元素的布局是不受外界的影響(我們往往利用這個(gè)特性來消除浮動元素對其非浮動的兄弟元素和其子元素帶來的影響。)并且在一個(gè) BFC 中招拙,塊盒與行盒(行盒由一行中所有的內(nèi)聯(lián)元素所組成)都會垂直的沿著其父元素的邊框排列唧瘾。

BFC的觸發(fā)條件 (任意一條):

float的值不為none

overflow的值不為visible

display的值為table-cell、tabble-caption和inline-block之一

position的值不為static或則releative中的任何一個(gè)

BFC的布局規(guī)則

內(nèi)部元素會在垂直方向一個(gè)接一個(gè)排列别凤,可以理解為BFC中的一個(gè)常規(guī)流饰序。

元素垂直方向上,同一個(gè)BFC的兩個(gè)相鄰盒子的margin會發(fā)生重疊

BFC區(qū)域不會與float元素區(qū)域重疊

計(jì)算BFC的高度规哪,浮動子元素也會參與計(jì)算

BFC的子元素不會影響到外面的元素

優(yōu)點(diǎn):不存在結(jié)構(gòu)和語義化問題求豫,代碼量極少缺點(diǎn):可能存在不換行導(dǎo)致超出內(nèi)容不可見.無法顯示溢出元素

詳細(xì)參見

http://www.w3cplus.com/css/understanding-bfc-and-margin-collapse.html

https://www.zhihu.com/question/28433480

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市诉稍,隨后出現(xiàn)的幾起案子蝠嘉,更是在濱河造成了極大的恐慌,老刑警劉巖杯巨,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚤告,死亡現(xiàn)場離奇詭異,居然都是意外死亡服爷,警方通過查閱死者的電腦和手機(jī)杜恰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門获诈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人箫章,你說我怎么就攤上這事烙荷。” “怎么了檬寂?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵终抽,是天一觀的道長。 經(jīng)常有香客問我桶至,道長昼伴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任镣屹,我火速辦了婚禮圃郊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘女蜈。我一直安慰自己持舆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布伪窖。 她就那樣靜靜地躺著逸寓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪覆山。 梳的紋絲不亂的頭發(fā)上竹伸,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天,我揣著相機(jī)與錄音簇宽,去河邊找鬼勋篓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛魏割,可吹牛的內(nèi)容都是我干的譬嚣。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼钞它,長吁一口氣:“原來是場噩夢啊……” “哼拜银!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起须揣,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤盐股,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后耻卡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疯汁,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年卵酪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了幌蚊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谤碳。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖溢豆,靈堂內(nèi)的尸體忽然破棺而出蜒简,到底是詐尸還是另有隱情,我是刑警寧澤漩仙,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布搓茬,位于F島的核電站,受9級特大地震影響队他,放射性物質(zhì)發(fā)生泄漏卷仑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一麸折、第九天 我趴在偏房一處隱蔽的房頂上張望锡凝。 院中可真熱鬧,春花似錦垢啼、人聲如沸窜锯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锚扎。三九已至,卻和暖如春放刨,著一層夾襖步出監(jiān)牢的瞬間工秩,已是汗流浹背尸饺。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工进统, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浪听。 一個(gè)月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓螟碎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迹栓。 傳聞我的和親對象是個(gè)殘疾皇子掉分,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評論 1 92
  • 我們在日常開發(fā)布局中經(jīng)常會使用到流體布局不从,流體布局用到的一個(gè)最重要的屬性就是浮動,今天就來看看浮動的相關(guān)知識犁跪。 1...
    一木_qintb閱讀 1,101評論 0 2
  • 盒模型 在 htm 中每一個(gè)元素都可以看成是一個(gè)盒子,默認(rèn)情況下盒子的邊框是無寝优,背景色是透明的条舔,所以在默認(rèn)情況下看...
    ConRon閱讀 1,156評論 0 1
  • 通常在水平排版中會設(shè)置浮動流, 所以導(dǎo)致浮動元素?fù)尾黄鸶冈氐母叨? 這是因?yàn)楦釉厥敲撾x標(biāo)準(zhǔn)流的一種排版方式....
    前端雨閱讀 223評論 0 0
  • 最無奈是遇不到
    其名自號閱讀 109評論 0 1