inline-block搔涝,BFC,外邊距合并

在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并和措?如何合并庄呈?

  • 產(chǎn)生折疊的必備條件:margin必須是鄰接的

  • 必須是處于常規(guī)文檔流(非float和絕對(duì)定位)的塊級(jí)盒子,并且處于同一個(gè)BFC當(dāng)中

  • 沒有線盒,沒有空隙(clearance派阱,下面會(huì)講到)诬留,沒有padding和border將他們分隔開

  • 都屬于垂直方向上相鄰的外邊距,可以是下面任意一種情況

  • 元素的margin-top與其第一個(gè)常規(guī)文檔流的子元素的margin-top

  • 元素的margin-bottom與其下一個(gè)常規(guī)文檔流的兄弟元素的margin-top

  • height為auto的元素的margin-bottom與其最后一個(gè)常規(guī)文檔流的子元素的margin-bottom

  • 高度為0并且最小高度也為0贫母,不包含常規(guī)文檔流的子元素文兑,并且自身沒有建立新的BFC的元素的margin-top和margin-bottom

  • 折疊的結(jié)果:

  • 兩個(gè)相鄰的外邊距都是正數(shù)時(shí),折疊結(jié)果是它們兩者之間較大的值

  • 兩個(gè)相鄰的外邊距都是負(fù)數(shù)時(shí)腺劣,折疊結(jié)果是兩者絕對(duì)值的較大值

  • 兩個(gè)外邊距一正一負(fù)時(shí)彩届,折疊結(jié)果是兩者的相加的和

消除邊距合并

  • 父子邊距合并:父容器加border或者padding:1px;
  • 兄弟邊距合并:float或者display:inline-block;
  • 不同父容器中的相鄰?fù)膺吘嗪喜ⅲ簅verflow
  • 自身上下外邊距合并:加border:transparent誓酒;或者padding:1px;或者overflow:auto贮聂;

消除list作為inline-block時(shí)的縫隙

  • li與li之間不換行
    <li>tag1</li><li>tag2</li><li>tag3</li>
  • 交錯(cuò)換行
<li>tag1</li
><li>tag2</li
><li>tag3</li>
  • 負(fù)margin靠柑,第一個(gè)li單獨(dú)設(shè)置margin-left:0;
margin-left: -4px;
  • 設(shè)置li為float:left吓懈;父容器為overflow:auto歼冰;
  • 父容器設(shè)置font-size:0;后代中須重設(shè)font-size耻警;

父容器使用overflow: auto| hidden撐開高度的原理是什么隔嫡?

父容器形成了一個(gè)BFC

浮動(dòng)導(dǎo)致的父容器高度塌陷指什么

  • 指元素浮動(dòng)以后脫離了文檔流甸怕,無法撐開父容器的空間
  • 解決辦法:
    使用clear類(偽類)或clear清除浮動(dòng)
    .ct1::after{
      display: block;
      content: '';
      clear: both;
    }

BFC

  • 定義:浮動(dòng)元素和絕對(duì)定位元素,非塊級(jí)盒子的塊級(jí)容器(例如 inline-blocks, table-cells, 和 table-captions)腮恩,以及overflow值不為“visiable”的塊級(jí)盒子梢杭,都會(huì)為他們的內(nèi)容創(chuàng)建新的BFC(塊級(jí)格式上下文)
    在BFC中,盒子從頂端開始垂直地一個(gè)接一個(gè)地排列秸滴,兩個(gè)盒子之間的垂直的間隙是由他們的margin 值所決定的武契。在一個(gè)BFC中,兩個(gè)相鄰的塊級(jí)盒子的垂直外邊距會(huì)產(chǎn)生折疊
    在BFC中荡含,每一個(gè)盒子的左外邊緣(margin-left)會(huì)觸碰到容器的左邊緣(border-left)(對(duì)于從右到左的格式來說咒唆,則觸碰到右邊緣)
  • 理解:首先BFC是一個(gè)名詞,是一個(gè)獨(dú)立的布局環(huán)境释液,我們可以理解為一個(gè)箱子(實(shí)際上是看不見摸不著的)全释,箱子里面物品的擺放是不受外界的影響的。轉(zhuǎn)換為BFC的理解則是:BFC中的元素的布局是不受外界的影響(我們往往利用這個(gè)特性來消除浮動(dòng)元素對(duì)其非浮動(dòng)的兄弟元素和其子元素帶來的影響误债。)并且在一個(gè)BFC中浸船,塊盒與行盒(行盒由一行中所有的內(nèi)聯(lián)元素所組成)都會(huì)垂直的沿著其父元素的邊框排列
  • 運(yùn)用:
  • 撐開父容器的高度
  • 清除浮動(dòng)
  • 取消margin相遇時(shí)的折疊

讀代碼

.clearfix:after{ /*在容器的最后添加一個(gè)after偽類*/
content: ''; /*偽類的內(nèi)容為空*/
display: block; /*作為塊級(jí)元素顯示*/
clear: both;/*清除浮動(dòng)*/
}
.clearfix{ 
*zoom: 1;/*在IE6,7中實(shí)現(xiàn)以上效果*/
}
  • 整體作用是實(shí)現(xiàn)父容器的高度被內(nèi)部的浮動(dòng)元素?fù)伍_,并在IE6,7中實(shí)現(xiàn)兼容
  • 和BFC的不同:bfc是創(chuàng)建一個(gè)獨(dú)立空間找前,浮動(dòng)元素包含在這個(gè)bfc之中糟袁,而添加偽類的方法中,實(shí)際上浮動(dòng)元素并沒有包含在父元素中躺盛,但是包含了底部的空白偽類项戴,因?yàn)槲覀優(yōu)閭晤愄砑恿藘蓚?cè)不能有浮動(dòng)元素的屬性,所以偽類被迫出現(xiàn)在了浮動(dòng)元素的下方槽惫。

html中添加多個(gè)空格

  • 使用特定字符替換空格
    &nbsp周叮;
  • 空格外層套上pre標(biāo)簽,常用于文字中包含代碼
<p>
   <pre>
     <code>
       1.ddd
       2.fff
     </code>
   </pre>
 </p>

本教程版權(quán)歸饑人谷和作者所有界斜,轉(zhuǎn)載須說明來源仿耽。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市各薇,隨后出現(xiàn)的幾起案子项贺,更是在濱河造成了極大的恐慌,老刑警劉巖峭判,帶你破解...
    沈念sama閱讀 222,000評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件开缎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡林螃,警方通過查閱死者的電腦和手機(jī)奕删,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來疗认,“玉大人,你說我怎么就攤上這事」辰埽” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵熟掂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我铝宵,道長(zhǎng)打掘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,782評(píng)論 1 298
  • 正文 為了忘掉前任鹏秋,我火速辦了婚禮尊蚁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侣夷。我一直安慰自己横朋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,798評(píng)論 6 397
  • 文/花漫 我一把揭開白布百拓。 她就那樣靜靜地躺著琴锭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衙传。 梳的紋絲不亂的頭發(fā)上决帖,一...
    開封第一講書人閱讀 52,394評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音蓖捶,去河邊找鬼地回。 笑死,一個(gè)胖子當(dāng)著我的面吹牛俊鱼,可吹牛的內(nèi)容都是我干的刻像。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼并闲,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼细睡!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起帝火,我...
    開封第一講書人閱讀 39,852評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤溜徙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后犀填,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蠢壹,經(jīng)...
    沈念sama閱讀 46,409評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,483評(píng)論 3 341
  • 正文 我和宋清朗相戀三年宏浩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靠瞎。...
    茶點(diǎn)故事閱讀 40,615評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡比庄,死狀恐怖求妹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情佳窑,我是刑警寧澤制恍,帶...
    沈念sama閱讀 36,303評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站神凑,受9級(jí)特大地震影響净神,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜溉委,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,979評(píng)論 3 334
  • 文/蒙蒙 一鹃唯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧瓣喊,春花似錦坡慌、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至棵帽,卻和暖如春熄求,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逗概。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工弟晚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人仗谆。 一個(gè)月前我還...
    沈念sama閱讀 49,041評(píng)論 3 377
  • 正文 我出身青樓指巡,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親隶垮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子藻雪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,630評(píng)論 2 359

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

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,759評(píng)論 1 92
  • 1.在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并便斥?如何合并?如何不讓相鄰元素外邊距合并威始?給個(gè)父子外邊距合并的范例 概念:在CSS當(dāng)...
    饑人谷_任磊閱讀 653評(píng)論 0 3
  • 1. 在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并镰绎?如何合并?如何不讓相鄰元素外邊距合并木西?給個(gè)父子外邊距合并的范例 外邊距合并:外...
    進(jìn)擊的阿群閱讀 915評(píng)論 1 2
  • 問題 1. 在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并?如何合并恋捆?如何不讓相鄰元素外邊距合并照皆?給個(gè)父子外邊距合并的范例 外邊距合...
    Timmmmmmm閱讀 489評(píng)論 0 0
  • 一星立、在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并爽茴?如何合并?如何不讓相鄰元素外邊距合并绰垂?給個(gè)父子外邊距合并的范例 在CSS當(dāng)中室奏,相...
    dengpan閱讀 577評(píng)論 0 0