CSS3_BFC(十二)

BFC

MDN对BFC的解释:块格式化上下文(Block Formating Context, BFC)是web页面的可视CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。

1、开启BFC

flow-root对内容的影响是最低的,但是IE浏览器不支持。

  • 根元素
  • 浮动元素
  • 绝对定位、固定定位的元素
  • 行内块元素
  • 表格单元格:table、thead、tbody、th、td、tr、caption
  • overflow的值不为visible的块元素
  • 伸缩元素
  • 多列容器
  • column-span为all的元素(即使该元素没有包裹在多列容器中)
  • display的值,设置为flow-root
2、BFC作用
  • 元素开启BFC后,其子元素不会再产生margin塌陷问题;
  • 元素开启BFC后,自己不会被其他浮动元素所覆盖;
  • 元素开启BFC后,就算其子元素浮动,元素自身高度也不会塌陷。
3、mrgin塌陷的解决
html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <title>示例</title>
    <style>
        body {
            display: flex;
        }

        .outer {
            width: 500px;
            background-color: aqua;

            /* 浮动元素 */
            /* float: left; */
            /* 开启定位元素 */
            /* position: relative; */
            /* 行内块元素 */
            /* display: inline-block; */
            /* 表格单元格 */
            /* display: table; */
            /* overflow不为visible */
            /* overflow: hidden; */
            /* 多列容器 */
            /* column-count: 1; */

            /* column-span: all; */
            /* display: flow-root; */
        }

        .inner {
            height: 200px;
            width: 200px;
            margin: 20px;
        }

        .inner1 {
            background-color: yellow;
        }

        .inner2 {
            background-color: blueviolet;
        }
    </style>
</head>

<body>
    <div class="outer">
        <div class="inner inner1"></div>
        <div class="inner inner2"></div>
    </div>
</body>

</html>
相关推荐
. . . . .1 小时前
ref、useRef 和 forwardRef
前端·javascript·react.js
energy_DT1 小时前
2026年海上钻井平台数字孪生平台:引领海洋能源数字化转型
前端
Eric_见嘉1 小时前
在职前端 Agent 配置分享
前端·后端·agent
柚子8162 小时前
break跳出语句块的神奇技巧
前端·javascript
ejinxian3 小时前
Rust GUI框架Azul与Electron、WebView2
前端·javascript·electron
IT_陈寒3 小时前
Vue的v-for里用index当key,我被自己坑惨了
前端·人工智能·后端
军军君013 小时前
数字孪生监控大屏实战模板:智能业务大数据监管平台
css·vue.js·elementui·typescript·前端框架·echarts·less
代码不加糖4 小时前
0基础搭建前后端分离项目:实现菜单与界面左右布局
java·前端·javascript·mysql·elementui·mybatis
zhensherlock4 小时前
Protocol Launcher 系列:Tally 快速计数器的深度集成
前端·javascript·typescript·node.js·自动化·github·js
AC赳赳老秦5 小时前
OpenClaw权限管理实操:团队共享Agent,设置操作权限,保障数据安全
服务器·开发语言·前端·javascript·excel·deepseek·openclaw