浮動(dòng)定位BFC邊距合并

浮動(dòng)元素有什么特征妒穴?

特征

  • 元素浮動(dòng)之后不占據(jù)原來的位置
  • 浮動(dòng)的盒子在一行上顯示
  • 行內(nèi)元素浮動(dòng)之后轉(zhuǎn)換為具備有塊級(jí)元素的特征洞焙,可以設(shè)置寬高

浮動(dòng)元素對(duì)父容器吕朵、其他浮動(dòng)元素绰垂、普通元素嗅榕、文字分別有什么影響?

  • 如果父容器的子元素都是浮動(dòng)元素顺饮,如果父容器沒有定義高度,那么父容器會(huì)失去高度凌那,在浮動(dòng)元素之外兼雄。
  • 對(duì)于普通元素,普通元素會(huì)感知不到浮動(dòng)元素當(dāng)然存在帽蝶,如果寬高合適赦肋,后面的元素會(huì)占據(jù)浮動(dòng)元素原來的位置
  • 對(duì)于文字來說,能感知到浮動(dòng)元素的存在励稳,如果位置足夠佃乘,就能夠?qū)崿F(xiàn)文本繞圖的效果

清除浮動(dòng)指什么? 如何清除浮動(dòng)? 兩種以上方法

清除浮動(dòng)不是不要浮動(dòng),而是清楚浮動(dòng)帶來的不利影響

方法

  • 使父元素形成新的BFC驹尼,可以使用overflow:hidden/auto/scroll
    display:inline-block float:方位等等
  • 使用偽元素清楚浮動(dòng),如
.clearfix{zoom:1;}
.clearfix:after{ 
content:"";
display:block;
visible:hidden;
clear:both;
}

然后在需要清除浮動(dòng)的元素進(jìn)行調(diào)用趣避。

有幾種定位方式,分別是如何實(shí)現(xiàn)定位的新翎,參考點(diǎn)是什么程帕,使用場(chǎng)景是什么?

  • inherit 規(guī)定應(yīng)該從父元素繼承 position 屬性的值
  • static默認(rèn)值,沒有定位地啰,元素出現(xiàn)在正常的流中(忽略 top, bottom, left, right 或者 z-index 聲明)
  • relative生成相對(duì)定位的元素骆捧,相對(duì)于元素本身正常位置進(jìn)行定位,因此,left:20px會(huì)向元素的 left 位置添加20px
  • absolute生成絕對(duì)定位的元素髓绽,相對(duì)于static定位以外的第一個(gè)祖先元素(offset parent)進(jìn)行定位,元素的位置通過 left, top, right以及 bottom 屬性進(jìn)行規(guī)定
  • fixed生成絕對(duì)定位的元素敛苇,相對(duì)于瀏覽器窗口進(jìn)行定位。元素的位置通過 left, top, right 以及 bottom 屬性進(jìn)行規(guī)定
  • stickyCSS3新屬性,表現(xiàn)類似position:relative和position:fixed的合體枫攀,在目標(biāo)區(qū)域在屏幕中可見時(shí)括饶,它的行為就像position:relative; 而當(dāng)頁面滾動(dòng)超出目標(biāo)區(qū)域時(shí),它的表現(xiàn)就像position:fixed来涨,它會(huì)固定在目標(biāo)位置
    普通流與相對(duì)定位
    CSS有三種基本的定位機(jī)制:普通流图焰,相對(duì)定位和絕對(duì)定位
    普通流是默認(rèn)定位方式,在普通流中元素框的位置由元素在html中的位置決定蹦掐,元素position屬性為static或繼承來的static時(shí)就會(huì)按照普通流定位技羔,這也是我們最常見的方式
    相對(duì)定位比較簡(jiǎn)單,對(duì)應(yīng)position屬性的relative值卧抗,如果對(duì)一個(gè)元素進(jìn)行相對(duì)定位藤滥,它將出現(xiàn)在他所在的位置上,然后可以通過設(shè)置垂直或水平位置社裆,讓這個(gè)元素相對(duì)于它自己移動(dòng)拙绊,在使用相對(duì)定位時(shí),無論元素是否移動(dòng)泳秀,元素在文檔流中占據(jù)原來空間标沪,只是表現(xiàn)出來的位置會(huì)改變

絕對(duì)定位與固定定位相對(duì)定位可以看作特殊的普通流定位,元素位置是相對(duì)于它在普通流中位置發(fā)生變化嗜傅,而絕對(duì)定位使元素的位置與文檔流無關(guān)金句,也不占據(jù)文檔流空間,普通流中的元素布局就像絕對(duì)定位元素不存在一樣

絕對(duì)定位的元素的位置是相對(duì)于距離最近的非static祖先元素位置決定的吕嘀。如果元素沒有已定位的祖先元素趴梢,那么他的位置就相對(duì)于初始包含塊html來定位

因?yàn)榻^對(duì)定位與文檔流無關(guān),所以絕對(duì)定位的元素可以覆蓋頁面上的其他元素币他,可以通過z-index

z-index 有什么作用? 如何使用?

  • z-index 屬性指定一個(gè)元素的堆疊順序坞靶。因?yàn)榻^對(duì)定位的元素脫離了普通流,所以絕對(duì)定位的元素可以覆蓋頁面上的其它元素蝴悉。這時(shí)可以通過給元素設(shè)置z-index屬性來控制疊放順序彰阴,擁有更高堆疊順序的元素總是會(huì)處于堆疊順序較低的元素的前面。
  • z-index有三個(gè)屬性
    auto 默認(rèn)拍冠。堆疊順序與父元素相等尿这。
    number設(shè)置元素的堆疊順序。
    inherit規(guī)定應(yīng)該從父元素繼承 z-index 屬性的值庆杜。

position:relative和負(fù)margin都可以使元素位置發(fā)生偏移?二者有什么區(qū)別

position:relative;只相對(duì)自己原本位置發(fā)生偏移射众,不影響其它普通流中元素的位置。margin:除了讓元素自身發(fā)生偏移還影響其它普通流中的元素晃财。

BFC 是什么叨橱?如何生成 BFC?BFC 有什么作用?舉例說明

BFC是指塊級(jí)元素格式化罗洗,在同一個(gè)BFC中愉舔,元素會(huì)遵守一些規(guī)則,如從上到下排列伙菜,邊距合并等轩缤,如果是相鄰兩個(gè)元素分別處于兩個(gè)BFC當(dāng)中,則一般不會(huì)遵循這些規(guī)則贩绕。
作用:
(1) 解決margin重疊問題火的,在同一個(gè)BFC中,相鄰元素之間的邊距會(huì)合并淑倾,如果把這兩個(gè)元素分別放在兩個(gè)BFC中馏鹤,name他們的邊距就不會(huì)合并。一般應(yīng)用于嵌套關(guān)系踊淳。
(2)清除浮動(dòng)。BFC不會(huì)重疊浮動(dòng)元素陕靠。

在什么場(chǎng)景下會(huì)出現(xiàn)外邊距合并迂尝?如何合并?如何不讓相鄰元素外邊距合并剪芥?給個(gè)父子外邊距合并的范例

外邊距合并出現(xiàn)的三個(gè)場(chǎng)景垄开。

  • 同一個(gè)BFC,且同處于普通流中的垂直相鄰元素外邊距合并税肪。
  • 父子元素的外邊距合并溉躲。
  • 空元素的外邊距合并。

合并規(guī)則:

  • 兩個(gè)margin都是正值的時(shí)候益兄,取兩者的最大值锻梳;
  • 當(dāng) margin 都是負(fù)值的時(shí)候,取的是其中絕對(duì)值較大的净捅,然后疑枯,從0位置,負(fù)向位移蛔六;
  • 當(dāng)有正有負(fù)的時(shí)候荆永,先取出負(fù) margin 中絕對(duì)值中最大的,然后国章,和正 margin 值中最大的 margin 相加具钥。
  • 所有毗鄰的margin要一起參與運(yùn)算,不能分步進(jìn)行
    不讓相鄰元素外邊距合并的方法:
  • 被非空內(nèi)容液兽、padding骂删、border 或 clear 分隔開。
  • 不在一個(gè)普通流中或一個(gè)BFC中。
  • margin在垂直方向上不毗鄰桃漾。

總結(jié):

  • 這些margin都處于普通流中坏匪,并在同一個(gè)BFC中;
  • 這些margin沒有被非空內(nèi)容撬统、padding适滓、border 或 clear 分隔開;
  • 這些margin在垂直方向上是毗鄰的恋追,包括以下幾種情況:

一個(gè)box的top margin與第一個(gè)子box的top margin
一個(gè)box的bottom margin與最后一個(gè)子box的bottom margin凭迹,但須在該box的height 為auto的情況下
一個(gè)box的bottom margin與緊接著的下一個(gè)box的top margin
一個(gè)box的top margin與其自身的bottom margin,但須滿足沒創(chuàng)建BFC苦囱、零min-height嗅绸、零或者“auto”的height、沒有普通流的子元素撕彤。

  • 例外的情況

根元素的外邊距不會(huì)參與折疊
不設(shè)置任何屬性的空span和空div不影響任何布局鱼鸠,可以無視之。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末羹铅,一起剝皮案震驚了整個(gè)濱河市蚀狰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌职员,老刑警劉巖麻蹋,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異焊切,居然都是意外死亡扮授,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門专肪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刹勃,“玉大人,你說我怎么就攤上這事嚎尤∩詈唬” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵诺苹,是天一觀的道長(zhǎng)咕晋。 經(jīng)常有香客問我,道長(zhǎng)收奔,這世上最難降的妖魔是什么掌呜? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮坪哄,結(jié)果婚禮上质蕉,老公的妹妹穿的比我還像新娘势篡。我一直安慰自己,他們只是感情好模暗,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布禁悠。 她就那樣靜靜地躺著,像睡著了一般兑宇。 火紅的嫁衣襯著肌膚如雪碍侦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天隶糕,我揣著相機(jī)與錄音瓷产,去河邊找鬼。 笑死枚驻,一個(gè)胖子當(dāng)著我的面吹牛濒旦,可吹牛的內(nèi)容都是我干的池磁。 我是一名探鬼主播穆咐,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼兰珍!你這毒婦竟也來了锉矢?” 一聲冷哼從身側(cè)響起梯嗽,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎沈撞,沒想到半個(gè)月后慷荔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雕什,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缠俺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贷岸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壹士。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖偿警,靈堂內(nèi)的尸體忽然破棺而出躏救,到底是詐尸還是另有隱情,我是刑警寧澤螟蒸,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布盒使,位于F島的核電站,受9級(jí)特大地震影響七嫌,放射性物質(zhì)發(fā)生泄漏少办。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一诵原、第九天 我趴在偏房一處隱蔽的房頂上張望英妓。 院中可真熱鬧挽放,春花似錦、人聲如沸蔓纠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腿倚。三九已至纯出,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間猴誊,已是汗流浹背潦刃。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留懈叹,地道東北人乖杠。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像澄成,于是被迫代替她去往敵國和親胧洒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359