CSS BFC详解

概念

BFC(Block Formatting Context)是CSS中的一个概念,用于描述一个独立的渲染区域,其中的元素按照一定规则进行布局和渲染。

BFC具有以下特性和作用

清除浮动:当一个元素的float属性设置为left或right时,会创建一个BFC,使得该元素不会被浮动元素覆盖。

阻止垂直外边距重叠:在同一个BFC中,相邻的两个块级元素的垂直外边距会发生重叠。但是在不同的BFC中,垂直外边距不会重叠。

自适应两栏布局:通过创建两个相邻的块级元素,并将其中一个设置为浮动或者使用绝对定位,可以实现自适应两栏布局。

防止文字环绕:当一个元素设置为浮动时,它会创建一个BFC,并且其他内容不会环绕在该浮动元素周围。

防止父元素高度塌陷:当父元素包含了浮动或者绝对定位的子元素时,如果没有清除浮动或者创建BFC,父元素的高度将塌陷为0。

创建BFC的条件

  • 根元素()或包含根元素的元素。

  • 浮动元素(float属性不为none)。

  • 绝对定位元素(position为absolute或fixed)。

  • 行内块元素(display为inline-block)。

  • 表格单元格(display为table-cell,HTML表格单元格默认会创建BFC)。

  • overflow属性的值不为visible的块级元素。

BFC的布局规则

  • BFC中的块级盒子会垂直排列,从上到下。

  • 相邻的块级盒子的垂直外边距会发生重叠,但是在不同的BFC中不会发生重叠。

  • BFC中的浮动盒子会参与计算高度,使得父元素能够包含浮动盒子。

  • BFC中的块级盒子在水平方向上不会溢出其包含块,而是会自动缩小宽度以适应包含块。

总结

BFC是一种布局上下文,可以解决一些常见的布局问题,并且具有一些特性和作用。通过合理地创建和利用BFC,可以更好地控制页面布局和渲染效果。

相关推荐

  1. Hive-DDL详解(超详细

    2023-12-15 04:22:02       33 阅读
  2. Hive-DML详解(超详细

    2023-12-15 04:22:02       29 阅读
  3. super详解

    2023-12-15 04:22:02       35 阅读
  4. scheduleatfixedrate详解

    2023-12-15 04:22:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 04:22:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 04:22:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 04:22:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 04:22:02       18 阅读

热门阅读

  1. C#教程(二):继承

    2023-12-15 04:22:02       34 阅读
  2. Kotlin 中的 `as` 关键字:类型转换的艺术

    2023-12-15 04:22:02       35 阅读
  3. linux下使用tc控制和模拟网络流量

    2023-12-15 04:22:02       30 阅读
  4. 扫雷/python中*解包作用

    2023-12-15 04:22:02       38 阅读
  5. Linux——MySQL备份与恢复

    2023-12-15 04:22:02       34 阅读
  6. 深入探索 Rust 宏编程

    2023-12-15 04:22:02       33 阅读
  7. 一起看看StatusBarManagerService(三)

    2023-12-15 04:22:02       31 阅读
  8. 【C语言数据结构】拓扑排序(代码演示)

    2023-12-15 04:22:02       31 阅读