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>
相关推荐
利刃大大16 分钟前
【Vue】指令修饰符 && 样式绑定 && 计算属性computed && 侦听器watch
前端·javascript·vue.js·前端框架
徐小夕@趣谈前端2 小时前
NO-CRM 2.0正式上线,Vue3+Echarts+NestJS实现的全栈CRM系统,用AI重新定义和实现客户管理系统
前端·javascript·人工智能·开源·编辑器·echarts
catino2 小时前
图片、文件上传
前端
Mr Xu_2 小时前
Vue3 + Element Plus 实现点击导航平滑滚动到页面指定位置
前端·javascript·vue.js
小王努力学编程2 小时前
LangChain——AI应用开发框架(核心组件1)
linux·服务器·前端·数据库·c++·人工智能·langchain
pas1362 小时前
35-mini-vue 实现组件更新功能
前端·javascript·vue.js
前端达人2 小时前
为什么聪明的工程师都在用TypeScript写AI辅助代码?
前端·javascript·人工智能·typescript·ecmascript
快乐点吧2 小时前
使用 data-属性和 CSS 属性选择器实现状态样式控制
前端·css
EndingCoder3 小时前
属性和参数装饰器
java·linux·前端·ubuntu·typescript
小二·3 小时前
Python Web 开发进阶实战:量子机器学习实验平台 —— 在 Flask + Vue 中集成 Qiskit 构建混合量子-经典 AI 应用
前端·人工智能·python