成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

CSS--外邊距合并的問題

longshengwang / 3387人閱讀

摘要:外邊距合并指的是,當(dāng)兩個(gè)垂直外邊距相遇時(shí),它們將形成一個(gè)外邊距。外邊距合并初看上去可能有點(diǎn)奇怪,但是實(shí)際上,它是有意義的。如果發(fā)生外邊距合并,段落之間的上外邊距和下外邊距就合并在一起,這樣各處的距離就一致了。

外邊距合并指的是,當(dāng)兩個(gè)垂直外邊距相遇時(shí),它們將形成一個(gè)外邊距。 合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。

首先看下W3C對(duì)于外邊距合并的介紹:

外邊距合并

簡單地說,外邊距合并指的是,當(dāng)兩個(gè)垂直外邊距相遇時(shí),它們將形成一個(gè)外邊距。合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。

當(dāng)一個(gè)元素出現(xiàn)在另一個(gè)元素上面時(shí),第一個(gè)元素的下外邊距與第二個(gè)元素的上外邊距會(huì)發(fā)生合并。請(qǐng)看下圖:

當(dāng)一個(gè)元素包含在另一個(gè)元素中時(shí)(假設(shè)沒有內(nèi)邊距或邊框把外邊距分隔開),它們的上和/或下外邊距也會(huì)發(fā)生合并。請(qǐng)看下圖:

盡管看上去有些奇怪,但是外邊距甚至可以與自身發(fā)生合并。

假設(shè)有一個(gè)空元素,它有外邊距,但是沒有邊框或填充。在這種情況下,上外邊距與下外邊距就碰到了一起,它們會(huì)發(fā)生合并:

如果這個(gè)外邊距遇到另一個(gè)元素的外邊距,它還會(huì)發(fā)生合并:

這就是一系列的段落元素占用空間非常小的原因,因?yàn)樗鼈兊乃型膺吘喽己喜⒌揭黄?,形成了一個(gè)小的外邊距。

外邊距合并初看上去可能有點(diǎn)奇怪,但是實(shí)際上,它是有意義的。以由幾個(gè)段落組成的典型文本頁面為例。第一個(gè)段落上面的空間等于段落的上外邊距。如果沒有外邊距合并,后續(xù)所有段落之間的外邊距都將是相鄰上外邊距和下外邊距的和。這意味著段落之間的空間是頁面頂部的兩倍。如果發(fā)生外邊距合并,段落之間的上外邊距和下外邊距就合并在一起,這樣各處的距離就一致了。

注釋: 只有普通文檔流中塊框的垂直外邊距才會(huì)發(fā)生外邊距合并。行內(nèi)框、浮動(dòng)框或絕對(duì)定位之間的外邊距不會(huì)合并。在css2.1中,水平的margin不會(huì)被折疊。

垂直margin可能在一些盒模型中被折疊:

在常規(guī)文檔流中,2個(gè)或以上的塊級(jí)盒模型相鄰的垂直margin會(huì)被折疊。
最終的margin值計(jì)算方法如下:

全部都為正值,取最大者;

不全是正值,則都取絕對(duì)值,然后用正值減去最大值;

沒有正值,則都取絕對(duì)值,然后用0減去最大值。
注意:相鄰的盒模型可能由DOM元素動(dòng)態(tài)產(chǎn)生并沒有相鄰或繼承關(guān)系。

相鄰的盒模型中,如果其中的一個(gè)是浮動(dòng)的(floated),垂直margin不會(huì)被折疊,甚至一個(gè)浮動(dòng)的盒模型和它的子元素之間也是這樣。

設(shè)置了overflow屬性的元素和它的子元素之間的margin不會(huì)被折疊(overflow取值為visible除外)。

設(shè)置了絕對(duì)定位(position:absolute)的盒模型,垂直margin不會(huì)被折疊,甚至和他們的子元素之間也是一樣。

設(shè)置了display:inline-block的元素,垂直margin不會(huì)被折疊,甚至和他們的子元素之間也是一樣。

如果一個(gè)盒模型的上下margin相鄰,這時(shí)它的margin可能折疊覆蓋(collapse through)它。在這種情況下,元素的位置(position)取決于它的相鄰元素的margin是否被折疊。

如果元素的margin和它的父元素的margin-top折疊在一起,盒模型border-top的邊界定義和它的父元素相同。

另外,任意元素的父元素不參與margin的折疊,或者說只有父元素的margin-bottom是參與計(jì)算的。如果元素的border-top非零,那么元素的border-top邊界位置和原來一樣。
一個(gè)應(yīng)用了清除操作的元素的margin-top絕不會(huì)和它的塊級(jí)父元素的margin-bottom折疊。

注意,那些已經(jīng)被折疊覆蓋的元素的位置對(duì)其他已經(jīng)被折疊的元素的位置沒有任何影響;只有在對(duì)這些元素的子元素定位時(shí),border-top邊界位置才是必需的。

根元素的垂直margin不會(huì)被折疊。

浮動(dòng)的塊級(jí)元素的margin-bottom總是與它后面的浮動(dòng)塊級(jí)兄弟元素(floated next in-flow block-level sibling)的margin-top相鄰,除非那個(gè)同級(jí)元素使用了清除操作。

浮動(dòng)的塊級(jí)元素的margin-top和它的第一個(gè)浮動(dòng)塊級(jí)子元素(floated first in-flow block-level child)的margin-top相鄰(如果該元素沒有border-top,沒有padding-top,并且子元素沒有使用清除操作)。

浮動(dòng)的塊級(jí)元素的margin-bottom如果符合下列條件,那么它和它的最后一個(gè)浮動(dòng)塊級(jí)子元素的margin-bottom相鄰(如果該元素沒有指定padding-bottom或border):

如果一個(gè)元素的min-height屬性設(shè)置為0,那么它所擁有的margin是相鄰的,并且它既沒有border-top和border- bottom,也沒有padding-top和padding-bottom,它的height屬性可以是0或auto,它不能包含一個(gè)內(nèi)聯(lián)的盒模型 (line box),它所有的浮動(dòng)子元素(如果有的話)的margin也都是相鄰的。

當(dāng)一個(gè)元素?fù)碛械膍argin折疊了,并且它使用了清除操作,那么它的margin-top會(huì)和緊隨其后的兄弟元素的相鄰margin折疊,但結(jié)果是它的margin將無法和其塊級(jí)父元素的margin-bottom折疊。

折疊操作是以padding、margin、border的值為基礎(chǔ)的(即在瀏覽器解析所有這些值之后),折疊后的margin計(jì)算將覆蓋已使用的不同margin的值。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/112049.html

相關(guān)文章

  • CSS」Margin Collapsing - 外邊合并

    摘要:外邊距合并都是基于以下三種基本的外邊距合并??赵厮约旱纳贤膺吘嗪拖峦膺吘嗪喜⒘?。阻止外邊距合并第二種情況不合并設(shè)置不為都可。 外邊距合并在排版上帶來非常大的便利,但是人們對(duì)其不甚了解,導(dǎo)致使用外邊距的時(shí)候總是出現(xiàn)繁多問題,今日寫下一片文章,總結(jié)一下外邊距合并。 三種基本的外邊距合并 只有上外邊距和下外邊距才會(huì)觸發(fā)外邊距合并,左外邊距和右外邊距不會(huì)。外邊距合并都是基于以下三種基本的外...

    cheukyin 評(píng)論0 收藏0
  • CSS 盒模型

    摘要:概覽盒模型也叫框模型,規(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...

    heartFollower 評(píng)論0 收藏0
  • css margin學(xué)習(xí)筆記

    摘要:的特性始終是透明的。例如就等于如果只有兩個(gè)值,第一個(gè)值表示上下值,第二個(gè)值為左右的值。垂直外邊距合并問題外邊距合并指的是,當(dāng)兩個(gè)垂直外邊距相遇時(shí),它們將形成一個(gè)外邊距。合并后的外邊距的高度等于兩個(gè)發(fā)生合并的外邊距的高度中的較大者。 Margin的特性 margin始終是透明的。 margin通過使用單獨(dú)的屬性,可以對(duì)上、右、下、左的外邊距進(jìn)行設(shè)置。即:margin-top、marg...

    leiyi 評(píng)論0 收藏0
  • CSS盒子模型以及外邊合并問題

    摘要:盒子模型我們把布局里面的所有東西都可以想象成一個(gè)盒子,盒子里面又裝著小盒子,小盒子里面又裝著小小盒子所以布局的萬物基于盒子。雖然外邊距是不可見的,但是我們算元素的總寬度或者總高度的時(shí)候,要加上外邊距。 盒子模型 我們把布局里面的所有東西都可以想象成一個(gè)盒子,盒子里面又裝著小盒子,小盒子里面又裝著小小盒子......所以布局的萬物基于盒子。即使一個(gè)小小的元素p,也可以把它抽象成為一個(gè)盒子...

    zacklee 評(píng)論0 收藏0
  • CSS盒子模型以及外邊合并問題

    摘要:盒子模型我們把布局里面的所有東西都可以想象成一個(gè)盒子,盒子里面又裝著小盒子,小盒子里面又裝著小小盒子所以布局的萬物基于盒子。雖然外邊距是不可見的,但是我們算元素的總寬度或者總高度的時(shí)候,要加上外邊距。 盒子模型 我們把布局里面的所有東西都可以想象成一個(gè)盒子,盒子里面又裝著小盒子,小盒子里面又裝著小小盒子......所以布局的萬物基于盒子。即使一個(gè)小小的元素p,也可以把它抽象成為一個(gè)盒子...

    paulli3 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<