CSS中IFC、BFC、Flex Box

一,行级排版上下文(IFC)

  • Inline Formatting Context(IFC)
  • 只包括行级盒子的容器会创建一个IFC
  • IFC内的排版规则
    • 盒子在一行内水平摆放
    • 一行放不下时,换行显示
    • text-align 决定一行内盒子的水平对齐
    • vertical-align 决定一个盒子在行内的垂直对齐
    • 避开浮动(float)元素*

我的理解:行级排版相对于其他来说时比较简单的排版,就相当于简单div包裹了行内标签,可以实现水平,垂直对齐。

二,块级排版上下文(BFC)

  • Block Formatting Context(BFC)

  • 某些容器会创建一个BFC

    • 根元素
    • 浮动,绝对定位,inline-block
    • Flex子项和Grid子项
    • overflow值不是visible的块盒
    • display:flow-root
  • BFC内的排版规则

    • 盒子从上到下摆放
    • 垂直margin合并
    • BFC内盒子的margin不会与外面的合并
    • BFC不会和浮动元素重叠

我的理解:简单来说,BFC是一个完全独立的空间(布局环境),让空间里的子元素不会影响到外面的布局。这个可以解决高度塌陷,以及margin边距重叠问题

三,Flex Box

  • 一种新的排版方式
  • 它可以控制子级盒子的:
    • 摆放的流向
    • 摆放的顺序
    • 盒子宽高
    • 水平和垂直方向的对齐
    • 是允许折行

Flexibility

  • 可以设置子项的弹性:当容器有剩余空间时,会伸展;容器空间不够时,会收缩。
  • flex-grow 有剩余空间时的伸展能力
  • flex-shrink 容器空间不足时收缩的能力
  • flex-basis 没有伸展或收缩时的基础长度

我的理解:我在项目中使用最多的就时flex布局,因为他简单,不用写太多多余的代码,而且满足了一些自适应的要求,方便我们去布局。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值