【CSS】块格式化上下文(BFC):解决margin坍塌、高度塌陷、自适应布局等问题

本文详细介绍了CSS中的块格式化上下文(BFC),包括定位机制、解决margin重合、margin塌陷、高度塌陷问题以及在自适应布局中的应用。通过触发BFC,可以避免元素间的相互影响,实现更智能的布局方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、css 定位机制:

css 中的定位机制可分为三种:
1. 普通的文档流block 块级元素单独一行 (span),inline内联元素排成一排(div)。
2. 定位流position 相当于新开一个层级。
absolute:绝对定位。从文档流中脱出,相对于其最接近的一个最有定位设置的父对象进行绝对定位。
relative:相对定位。相对于正常文档流中的位置偏移。
fixed:固定定位。滚动滚动条时,元素一直位于固定的位置。
static:保持正常的文档流。
3. 浮动流float

2、 BFC解决什么问题:

三种布局方式有可能会相互影响,例如:margin的相互重叠影响外部元素;父元素高度坍塌等问题。
这时候可以用统一的方式解决问题:创建BFC(Block Formatting Context),即被隔离的独立区间。

BFC 表现原则:如果一个元素具有BFC,内部子元素怎么操作都不会影响外部的元素。

3、 怎么触发BFC:

  1. body:
  2. float : left | right (非 none
  3. position : absolute | fixed (非 relative)
  4. display : inline-block | table-cell | table-caption | flex | grid
    (非 none | inline | block)
  5. overflow : auto | hidden | scroll (非visible)

4、 BFC - margin重合:

  <div class="box">
    <div class="box box1"></div>
    <div class="box box2"></div>
  </div>
.box {
   
   
  width: 300px;
  height: 300px;
}
.box1 {
   
   
  margin-bottom:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值