• 谈谈你对BFC的认识


    什么是BFC?

    BFC 全称为 块格式化上下文 (Block Formatting Context) 。

    从这个概念里你能看出来什么吗?

    这个名字给我们的信息只有 “块” “格式化” “上下文” 。我们大概可以了解到这个东西是对上下文起作用的。
    那里的上下文?? HTML文档!
    它大概的作用,貌似是格式化上下文??可能不是我们通常意义中的格式化。

    我们没有从这个名字中得到太多有用的信息,仅仅知道它是一种功能,针对于 HTML文档 起作用。

    BFC 特性(功能)

    1. 使 BFC 内部浮动元素不会到处乱跑;
    2. 和浮动元素产生边界。

    创建 块格式化上下文 BFC  的方式:

    • 根元素(<html>)
    • 浮动元素(元素的 float 不是 none)
    • 绝对定位元素(元素的 position 为 absolute 或 fixed)
    • 行内块元素(元素的 display 为 inline-block)
    • 表格单元格(元素的 display为 table-cell,HTML表格单元格默认为该值)
    • 表格标题(元素的 display 为 table-caption,HTML表格标题默认为该值)
    • 匿名表格单元格元素(元素的 display为 table、table-row、 table-row-group、table-header-group、table-footer-group(分别是HTML table、row、tbody、thead、tfoot的默认属性)或 inline-table)
    • overflow 值不为 visible 的块元素
    • display 值为 flow-root 的元素
    • contain 值为 layout、content或 paint 的元素
    • 弹性元素(display为 flex 或 inline-flex元素的直接子元素)
    • 网格元素(display为 grid 或 inline-grid 元素的直接子元素)
    • 多列容器(元素的 column-count 或 column-width 不为 auto,包括 column-count 为 1)
    • column-span 为 all 的元素始终会创建一个新的BFC,即使该元素没有包裹在一个多列容器中(标准变更Chrome bug)。
  • 相关阅读:
    通用Logging框架设计
    slf4j 与各个 logging框架的适配器说明
    优雅的使用Spring
    Python : 反射
    Python: Tools
    Python : Class
    Python : Module
    Python 入门:基本语法
    docker:版本变更
    Linux: yum配置说明
  • 原文地址:https://www.cnblogs.com/smile6542/p/11851981.html
Copyright © 2020-2023  润新知