重学CSS(10)—— 深入理解BFC结界

本文详细介绍了CSS中的BFC(块级格式化上下文),解释了BFC的作用,如何创建BFC,以及它如何帮助解决浮动元素导致的父容器高度坍塌和margin叠压问题。通过实例展示了BFC在流体布局中的应用,强调了overflow:hidden作为清除浮动影响的优秀选择。同时,讨论了其他创建BFC的属性及其对布局的影响,提示理解BFC对于实现智能自适应布局的重要性。
摘要由CSDN通过智能技术生成

1.CSS的结界——BFC

BFC是block formatting context的缩写,中文名为“块级格式化上下文”。前面也多次提到了这个听起来十分拗口的属性,那么CSS设计这个属性的初衷是什么呢?

记住一句话:拥有BFC特性的元素会形成类似“结界”的封闭内部空间,该元素内部的元素以及该元素本身都不会影响外部元素的表现。要理解这句话,还得通过一些例子来证明,在举例证明之前,我们必须得知道一件事,就是CSS规定了哪些属性可以生成BFC属性,常见的情况如下:

  • float不为none的元素。
  • overflow的值为auto,scroll或hidden。
  • display的值为inline-block,table-cell或table-caption。
  • position的值不为relative和static

在知道了哪些元素拥有BFC属性后,我们就可以愉快的测试了。

由于一个元素拥有BFC,因此其内部子元素再怎么变都不能影响到外面的元素,这句话仿佛在哪里见过?没错,读过上一章的小伙伴应该还记得float元素导致父容器高度坍塌的问题,因此如果float元素的父容器拥有BFC特性会发生什么呢?实践出真知,试一试不就知道了吗。

<!-- BFC -->
<div style="display: inline-block;">
    <div style="float: left;">我的父元素有BFC,我是左浮动</div>
    <div style="float: right;">我的父元素有BFC,我是右浮动</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值