代码拉取完成,页面将自动刷新
同步操作将从 高翔/大前端 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<title>BFC</title>
</head>
<style type="text/css">
.container {
width: 100px;
height: 100px;
background-color: red;
}
.box1 {
height: 20px;
margin: 20px 0;
background-color: green;
}
.box2 {
height: 20px;
margin: 30px 0;
background-color: green;
}
</style>
<body>
1.BFC的理解:块级格式化上下文
2.BFC 特性(功能):
(1).使用BFC可以取消盒子margin塌陷(overflow: hidden);
(2).阻止元素被浮动元素覆盖(overflow: hidden)。
3.创建块级格式化上下文 BFC 的方式:
--). 浮动元素(元素的 float 不是 none)
--). 绝对定位元素(元素的 position 为 absolute 或 fixed)
--). 行内块元素(元素的 display 为 inline-block)
--). 表格单元格(元素的 display为 table-cell,HTML表格单元格默认为该值)
--). 表格标题(元素的 display 为 table-caption,HTML表格标题默认为该值)
--). 匿名表格单元格元素(元素的 display为 table、table-row、 table-row-group、table-header-group、table-footer-group(分别是HTML
table、row、tbody、thead、tfoot的默认属性)或 inline-table)
--). overflow 值不为 visible 的块元素
--). display 值为 flow-root 的元素
--). contain 值为 layout、content或 paint 的元素
--). 弹性元素(display为 flex 或 inline-flex元素的直接子元素)
--). 网格元素(display为 grid 或 inline-grid 元素的直接子元素)
--). 多列容器(元素的 column-count 或 column-width 不为 auto,包括 column-count 为 1)
--). column-span 为 all 的元素始终会创建一个新的BFC,即使该元素没有包裹在一个多列容器中(标准变更,Chrome bug)
4.BFC的作用:
--). 用来清除浮动。
--). 用来布局
--). 解决margin叠加问题。
<div class="container">
<div class="box1"></div>
<div class="box2"></div>
</div>
-- 此时会发现:
1.box1距离父元素并没有20px的距离,而是父元素向上移动了20px,诡异不?
2.box2距离box1没有50px的距离,只有30px距离,出现了margin折叠问题,诡异吗?
3.解决方案:container形成BFC(overflow: hidden或者float: left或者position: absolute...),box1和box2任选其一形成BFC。
</body>
<script type="text/javascript">
</script>
</html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。