最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CSS 外邊距(margin)重疊及防止方法

  發(fā)布時(shí)間:2019-08-14 14:18:51   作者:佚名   我要評(píng)論
這篇文章主要介紹了CSS 外邊距(margin)重疊及防止方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

兩個(gè)或多個(gè)塊級(jí)盒子的垂直相鄰邊界會(huì)重合。結(jié)果的邊界寬度是相鄰邊界寬度中最大的值。如果出現(xiàn)負(fù)邊界,則在最大的正邊界中減去絕對(duì)值最大的負(fù)邊界。如果沒(méi)有正邊界,則從零中減去絕對(duì)值最大的負(fù)邊界。注意:相鄰的盒子可能并非是由父子關(guān)系或同胞關(guān)系的元素生成。

但是邊界的重疊也有例外情況:

1、水平邊距永遠(yuǎn)不會(huì)重合。

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

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

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

c、沒(méi)有正值,則都取絕對(duì)值,然后用0減去最大值。

注意:相鄰的盒模型可能由DOM元素動(dòng)態(tài)產(chǎn)生并沒(méi)有相鄰或繼承關(guān)系。

3、相鄰的盒模型中,如果其中的一個(gè)是浮動(dòng)的(float),垂直margin不會(huì)重疊,并且浮動(dòng)的盒模型和它的子元素之間也是這樣。

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

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

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

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

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

b、另外,任意元素的父元素不參與margin的重疊,或者說(shuō)只有父元素的margin-bottom是參與計(jì)算的。如果元素的border-top非零,那么元素的border-top邊界位置和原來(lái)一樣。

一個(gè)應(yīng)用了清除操作的元素的margin-top絕不會(huì)和它的塊級(jí)父元素的margin-bottom重疊。

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

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

外邊距(margin)重疊示例

外邊距重疊是指兩個(gè)垂直相鄰的塊級(jí)元素,當(dāng)上下兩個(gè)邊距相遇時(shí),起外邊距會(huì)產(chǎn)生重疊現(xiàn)象,且重疊后的外邊距,等于其中較大者。

為了幫助大家讓學(xué)習(xí)變得輕松、高效,給大家免費(fèi)分享一大批資料,幫助大家在成為前端工程師,乃至全棧工程師的路上披荊斬棘。在這里給大家推薦一個(gè)前端全棧學(xué)習(xí)交流圈:784783012 歡迎大家進(jìn)群交流討論,學(xué)習(xí)交流,共同進(jìn)步。

當(dāng)真正開(kāi)始學(xué)習(xí)的時(shí)候難免不知道從哪入手,導(dǎo)致效率低下影響繼續(xù)學(xué)習(xí)的信心。

但最重要的是不知道哪些技術(shù)需要重點(diǎn)掌握,學(xué)習(xí)時(shí)頻繁踩坑,最終浪費(fèi)大量時(shí)間,所以有效資源還是很有必要的。

圖示:

另一個(gè)重疊現(xiàn)象是當(dāng)一個(gè)元素包含在另一個(gè)元素之中時(shí),子元素與父元素之間也會(huì)產(chǎn)生重疊現(xiàn)象,重疊后的外邊距,等于其中最大者:


 

同理,如果一個(gè)無(wú)內(nèi)容的空元素,其自身上下邊距也會(huì)產(chǎn)生重疊。

 
 

外邊距重疊的意義

外邊距的重疊只產(chǎn)生在普通流文檔的上下外邊距之間,這個(gè)看起來(lái)有點(diǎn)奇怪的規(guī)則,其實(shí)有其現(xiàn)實(shí)意義。設(shè)想,當(dāng)我們上下排列一系列規(guī)則的塊級(jí)元素(如段落P)時(shí),那么塊元素之間因?yàn)橥膺吘嘀丿B的存在,段落之間就不會(huì)產(chǎn)生雙倍的距離。

防止外邊距重疊解決方案:

雖然外邊距的重疊有其一定的意義,但有時(shí)候我們?cè)谠O(shè)計(jì)上卻不想讓元素之間產(chǎn)生重疊,那么可以有如下幾個(gè)建議可供參考:

  1. 外層元素padding代替
  2. 內(nèi)層元素透明邊框 border:1px solid transparent;
  3. 內(nèi)層元素絕對(duì)定位 postion:absolute:
  4. 外層元素 overflow:hidden;
  5. 內(nèi)層元素 加float:left;或display:inline-block;
  6. 內(nèi)層元素padding:1px;

 總結(jié)

以上所述是小編給大家介紹的CSS 外邊距(margin)重疊及防止方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

最新評(píng)論

揭阳市| 银川市| 图木舒克市| 方正县| 黄浦区| 白城市| 高雄市| 成都市| 新乡县| 游戏| 大埔县| 泉州市| 盐山县| 独山县| 濮阳市| 乐都县| 凉城县| 招远市| 和平区| 横峰县| 若尔盖县| 武川县| 鸡东县| 新干县| 桐庐县| 锡林浩特市| 青神县| 易门县| 天峻县| 抚远县| 辽中县| 兴城市| 通化市| 涿鹿县| 陈巴尔虎旗| 永泰县| 舟山市| 遂川县| 沁源县| 财经| 兴义市|