前端面试 BFC

3 篇文章 0 订阅
BFC(边距重叠解决方案)

渲染规则:

  • 属于同一个BFC的 两个相邻Box的 上下margin会发生重叠
  • BFC的区域不会与浮动的元素重叠
  • BFC里面是一个独立的容器外面的元素不会影响里面的元素,里面的元素同样不会影响外面的
  • 计算BFC高度的时候,浮动元素也会参与计算

如何创建BFC:

  • float值补位none
  • position的值不是static、relative
  • display的值为table-cell、 table-caption 等
  • overflow不为 visible

BFC使用场景:

高度坍塌:

原因是如果块元素的 margin-top 与它的第一个子元素的margin-top 之间没有 border、padding、inline content、 clearance 来分隔,或者块元素的 margin-bottom 与它的最后一个子元素的margin-bottom 之间没有 border、padding、inline content、height、min-height、 max-height 分隔,那么外边距会塌陷。子元素多余的外边距会被父元素的外边距截断。

防止垂直margin重叠:
父子元素的边界重叠得解决方案:
在父元素上加上overflow:hidden;使其成为BFC

兄弟元素的边界重叠,在第二个子元素创建一个BFC上下文

<section id="margin">
    <p>1</p>
    <div style="overflow:hidden;">
        <p>2</p>
    </div>
    <p>3</p>
</section>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值