zoukankan      html  css  js  c++  java
  • CSS BFC(Block Formatting Context)

    什么是BFC(Block formatting context)

    BFC(块级格式上下文)就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素
    BFC 就是 ‘块级格式上下文’ 的格式,创建了BFC的元素就是一个独立的盒子,不过只有BLock-level box可以参与创建BFC,它规定了内部的Bloc-level Box 如何布局,并且与这个独立盒子里的布局不受外部影响,当然它也不会影响到外面的元素。

    形成条件

    • 浮动 float 除 none 以外的值
    • 定位 position(absolute,fixed)
    • display 为以下其中之一的值 inline-block,table-cell,table-caption
    • overflow 除了 visible 以外的值(hidden,auto,scroll)

    应用场景:

    1. 解决margin叠加的问题
    2. 用于布局(overflow: hidden),BFC不会与浮动盒子叠加。
    3. 用于清除浮动,计算BFC高度。

    本质

    BFC的本质就是所有元素都是块级元素(或者可以当成块级元素)处理,默认情况下在垂直方向上一个接一个的放置,垂直方向上的距离由margin决定。
    除此之外还有

    • IFC(Inline formatting contexts):内联格式上下文
      • display: inline-box
    • FFC(Flex formatting contexts):自适应格式上下文
      • display:flex/inline-flex
    • GFC(GrideLayout formatting contexts):网格布局格式化上下文

    参考

  • 相关阅读:
    List数组细解
    iOS之缓存
    Java_String的操作
    weak的理解
    Swift_单利
    Java 抽象类和接口
    Java 继承中的问题
    java 成员变量与局部变量
    纪中第十九天
    cin快读
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/13466292.html
Copyright © 2011-2022 走看看