亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:98日期: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,或者加上透明邊框就可以解決了。

主站蜘蛛池模板: 成年性视频bbixx | 婷婷丁香在线 | 视频在线亚洲 | 国产精品主播视频 | 色视频一区二区三区 | 成人精品综合免费视频 | 亚洲综合视频在线观看 | 欧美一区二区三区不卡免费观看 | 114级毛片免费观看 123456成年免费视频 | 亚洲综合图片 | 久久精品视频免费观看 | 99re热久久精品这里都是精品 | 国产男女乱淫真视频全程播放 | 成年男女男精品免费视频网站 | 欧美在线a级高清 | 黄色永久免费网站 | 亚洲欧美中文字幕专区 | 国产一区二区三区在线视频 | 日韩色爱| 国产精品久久久一区二区三区 | 第一福利在线观看 | 尤物视频在线观看免费视频 | 日本一级在线观看 | 成人春色在线观看免费网站 | 91视频黄| 夜夜夜爽bbbb性视频 | 国产一级c片 | 两性毛片 | 免费视频精品一区二区 | 美女一区二区在线观看 | 国内精品一级毛片免费看 | 女女互添下身免费视频 | 拍拍视频免费观看网站在线观看 | 免费一级a毛片免费观看欧美大片 | 一级大片网站 | 日韩视频网址 | 亚洲国产成人久久综合碰碰动漫3d | 国产成+人+综合+亚洲欧美丁香花 | 中日韩一区二区三区 | 国产美女视频一区二区二三区 | 国产在线一卡 |