av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

前端 - margin的問題,那個老哥幫我解釋下

瀏覽:129日期:2024-05-19 13:41:23

問題描述

<!DOCTYPE html><html lang='en'><head> <title>test</title> <style type='text/css'>* { margin: 0; padding: 0;}.a{ height:48px; background: #eee;}.b{ height:520px; background: #ff4949;}.c{ width:90%; height:300px; margin:20px auto; background: #fff;} </style></head><body><p class='a'></p><p class='b'> <p class='c'></p></p></body></html>

前端 - margin的問題,那個老哥幫我解釋下

p.c 不是應該被紅色環繞嗎?煩請那個老哥解釋下。

問題解答

回答1:

因為在BFC中,兩相鄰(兄弟或父子)、沒有邊框且沒有padding,元素的margin-top與其第一個常規文檔流的子元素的margin-top,會產生marign-collapse(外邊距折疊)。

你給b加邊框,

border: 1px solid transparent;

或者加padding,

padding: 1px 0;

都能消除。

或者,你可以給b加 overflow: hidden;。

可以參考:深入理解BFC和Margin Collapse

回答2:

你在.b中添加個overflow: hidden;就可以了。

因為overflow 使用除了 visible 以外的值(hidden,auto,scroll)會觸發BFC。什么是BFC?Block Formatting Contexts (塊級格式化上下文)具有 BFC 的元素可以看作是隔離了的獨立容器,容器里面的元素不會在布局上影響到外面的元素,并且 BFC 具有普通容器沒有的一些特性,例如可以包含浮動元素,上文中的第二類清除浮動的方法(如 overflow 方法)就是觸發了浮動元素的父元素的 BFC ,使到它可以包含浮動元素,從而防止出現高度塌陷的問題。

回答3:

overflow: hidden; 你把這句話加到 p.b 上。

回答4:

搜一下 “子元素margin影響父元素”

回答5:

這個叫外邊距重疊吧,子級元素的外邊距會影響父級元素,并且這兩的外邊距大整個容器的外邊距就以大的為準。這個時候應該選擇觸發BFC,BFC是什么前面幾位說的很清楚了,觸發BFC的情況有:

根元素

float屬性不為none;

position為absolute或fixed;

display為inline-block, table-cell, table-caption, flex, inline-flex;

overflow不為visible;

解決辦法:

如果你給父級加上overflow:hidden,或者加上透明邊框就可以解決了。

主站蜘蛛池模板: av久久久 | 91精品国产日韩91久久久久久 | 久久精品亚洲 | 午夜影院在线 | 伊人影院久久 | 亚洲精选在线观看 | 可以免费看av的网站 | 国产成人精品一区二区三区在线 | 国产美女自拍 | www.日日夜夜 | 久久久综合网 | 久青草视频 | 欧美精品一区二区三区四区 | aaa级片| 国产黄a三级三级看三级 | 91porn在线| 97精品国产露脸对白 | 黄色小视频在线观看 | 国产美女在线播放 | 国产精品久久久久久久成人午夜 | 亚洲福利专区 | 91性高潮久久久久久久久 | 国产精品区二区三区日本 | 亚洲 欧美 日韩 在线 | 日本毛片在线观看 | 午夜伦理视频 | 亚洲国产成人精品久久 | 免费av网站在线观看 | 青青草手机在线视频 | 国产成人在线播放 | 日韩专区在线观看 | 午夜精品福利视频 | 欲望岛av| 国产欧美在线观看 | 日韩在线视频观看 | 综合二区 | 久久小视频 | 免费欧美视频 | 亚洲69 | 日本欧美视频 | 麻豆tv在线观看 |