摘要:的意思很容易明白,就是外邊距,用更通俗的話說(shuō),就是二個(gè)盒子之間間距的設(shè)置。有許多需要注意的地方,比如塊級(jí)元素垂直相鄰?fù)膺吘鄷?huì)合并,行內(nèi)元素實(shí)際上不占上下外邊距,左右外邊距也不會(huì)合并,浮動(dòng)元素的外邊距也不會(huì)合并。
作者:心葉
時(shí)間:2018-04-26 20:39
margin的意思很容易明白,就是外邊距,用更通俗的話說(shuō),就是二個(gè)盒子之間間距的設(shè)置。
margin有許多需要注意的地方,比如塊級(jí)元素垂直相鄰?fù)膺吘鄷?huì)合并,行內(nèi)元素實(shí)際上不占上下外邊距,左右外邊距也不會(huì)合并,浮動(dòng)元素的外邊距也不會(huì)合并。
普通元素的margin百分百是按照父級(jí)元素(正確的說(shuō)應(yīng)該是包含塊,具體可以看這篇文章關(guān)于CSS中設(shè)置overflow屬性的值為hidden的相關(guān)理解)的寬來(lái)計(jì)算的,而絕對(duì)定位的元素的margin百分比是按照第一個(gè)定位元素(relative,absolute和fixed)的寬來(lái)計(jì)算的。
第二步:block元素重疊。block元素(不考慮float和absolute)在垂直方向發(fā)生margin重疊(不考慮writing-mode改變書(shū)寫(xiě)方式);margin三種重疊:1.相鄰兄弟元素;2.父親元素和第一個(gè)或最后一個(gè)孩子元素;3.空的block元素。
第三步:重疊條件。父子元素重疊條件(margin-top)
1.父元素非塊狀格式上下文元素;
2.父元素和第一個(gè)子元素之間沒(méi)有inline元素分割;
3.父元素沒(méi)有border-top或padding-top設(shè)置。
父子元素重疊條件(margin-bottom)
1.父元素非塊狀格式上下文元素;
2.父元素沒(méi)有border-bottom或padding-bottom設(shè)置;
3.父元素和最后一個(gè)子元素之間沒(méi)有inline元素分割;
4.父元素沒(méi)有height,min-height和max-height的限制。
空的block元素重疊
1.元素沒(méi)有border或padding或inline設(shè)置;
2.沒(méi)有height或者min-height設(shè)置。
重疊計(jì)算方法:正正取最大、負(fù)負(fù)取最小和正負(fù)相加。
在書(shū)寫(xiě)方向的垂直方向,margin:auto會(huì)自動(dòng)分配剩余空間(剩余空間的意思簡(jiǎn)單的可以理解為:在沒(méi)有設(shè)置寬之前的長(zhǎng)度去掉你設(shè)置的寬余下的那段距離)。
絕對(duì)定位元素的非定位方向margin無(wú)效(貌似是的,不過(guò)描述不準(zhǔn)確,其實(shí)一直有效,只不過(guò)現(xiàn)在只可以影響自己,無(wú)法改變兄弟了,因此看起來(lái)失效了)。
最后一個(gè)題外話,margin-collapse可以設(shè)置重疊方式(collapse默認(rèn),重疊、discard取消margin,等于margin:0和separate分隔,就是不發(fā)生重疊)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/113145.html
摘要:外邊距合并指的是,當(dāng)兩個(gè)垂直外邊距相遇時(shí),它們將形成一個(gè)外邊距。外邊距合并初看上去可能有點(diǎn)奇怪,但是實(shí)際上,它是有意義的。如果發(fā)生外邊距合并,段落之間的上外邊距和下外邊距就合并在一起,這樣各處的距離就一致了。 外邊距合并指的是,當(dāng)兩個(gè)垂直外邊距相遇時(shí),它們將形成一個(gè)外邊距。 合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。 首先看下W3C對(duì)于外邊距合并的介紹: 外邊距合并...
摘要:概覽盒模型也叫框模型,規(guī)定了元素框處理元素內(nèi)容內(nèi)邊距邊框和外邊距的方式。不幸的是,和在使用自己的非標(biāo)準(zhǔn)模型。當(dāng)一個(gè)元素出現(xiàn)在另一個(gè)元素上面時(shí),第一個(gè)元素的下外邊距與第二個(gè)元素的上外邊距會(huì)發(fā)生合并。如果缺少右外邊距的值,則使用上外邊距的值。 概覽 CSS 盒模型 (Box Model)也叫框模型,規(guī)定了元素框處理元素 內(nèi)容、 內(nèi)邊距、 邊框 和 外邊距 的方式。 showImg(http...
摘要:外邊距合并都是基于以下三種基本的外邊距合并??赵厮约旱纳贤膺吘嗪拖峦膺吘嗪喜⒘?。阻止外邊距合并第二種情況不合并設(shè)置不為都可。 外邊距合并在排版上帶來(lái)非常大的便利,但是人們對(duì)其不甚了解,導(dǎo)致使用外邊距的時(shí)候總是出現(xiàn)繁多問(wèn)題,今日寫(xiě)下一片文章,總結(jié)一下外邊距合并。 三種基本的外邊距合并 只有上外邊距和下外邊距才會(huì)觸發(fā)外邊距合并,左外邊距和右外邊距不會(huì)。外邊距合并都是基于以下三種基本的外...
摘要:我們可以注意定義中的幾個(gè)關(guān)鍵字毗鄰兩個(gè)或多個(gè)垂直方向和普通流。如何避免外邊距疊加上面講了外邊距的疊加,那如何避免呢,其實(shí)只要破壞上面講到的四個(gè)條件中的任何一個(gè)即可毗鄰兩個(gè)或多個(gè)普通流和垂直方向。 外邊距疊加一直是前端開(kāi)發(fā)必須了解的一個(gè)概念,面試一般也會(huì)問(wèn)到這個(gè)問(wèn)題。所以整理一下相關(guān)外邊距疊加相關(guān)的知識(shí)點(diǎn)。外邊距疊加是什么?什么時(shí)候會(huì)發(fā)生外邊距疊加?如何避免外邊距疊加? 什么是外邊距疊加...
摘要:當(dāng)兩個(gè)及以上外邊距折疊,合并后的外邊距寬度是發(fā)生折疊的外邊距中的最大寬度。如果該元素的外邊距同其父元素的上外邊距折疊,則該盒的上邊框邊緣同其父元盒的上邊框邊緣相同。 2017-07-20: 關(guān)于外邊距折疊, 推薦問(wèn)題: https://segmentfault.com/q/10... 8 盒模型 Box Model URL: http://www.w3.org/TR/CSS2/box...
摘要:這個(gè)例子就是外邊距折疊塊級(jí)元素的上外邊距和下外邊距有時(shí)會(huì)合并或折疊為一個(gè)外邊距。 外邊距折疊指的是毗鄰的兩個(gè)或多個(gè)外邊距 (margin) 會(huì)合并成一個(gè)外邊距,本文詳細(xì)的介紹了一下css外邊距折疊的實(shí)現(xiàn),分為3種情況,非常具有實(shí)用價(jià)值,需要的朋友可以參考下 前文 這是的一個(gè)經(jīng)典的老問(wèn)題,因?yàn)橹皠偤糜凶x者朋友問(wèn)到,順便整理一下。 從一個(gè)簡(jiǎn)單例子說(shuō)起 先看一個(gè)簡(jiǎn)單示例: `` `.sli...
閱讀 3622·2021-11-24 10:25
閱讀 2548·2021-11-24 09:38
閱讀 1236·2021-09-08 10:41
閱讀 2919·2021-09-01 10:42
閱讀 2600·2021-07-25 21:37
閱讀 1996·2019-08-30 15:56
閱讀 927·2019-08-30 15:55
閱讀 2763·2019-08-30 15:54