美文网首页
BFC模式原理及应用

BFC模式原理及应用

作者: 饮杯梦回酒 | 来源:发表于2018-12-04 21:49 被阅读0次

一、什么是BFC模式

BFC(Block Fomatting Context)为块级格式化上下文的的简称。实质上可以理解为盒子内部一套自己的渲染规则,而这种渲染规则会影响着元素的定位以及与其兄弟元素之间的相互作用。一般当我们进行盒子布局的时候,形成BFC模式的盒子就会按自己的渲染规则布局和定位而不影响其他环境中的布局(常见的浮动元素脱离标准文档流,其内部子元素则按照其相应的渲染规则布局,而浮动元素之间则互不影响,其自身就像一个独立的容器)。

总结一下也就是说:如果一个元素符合了成为BFC模式的条件,该元素内部元素的布局和定位就和外部元素互不影响(除非内部的盒子建立了新的 BFC),是一个隔离了的独立容器,拥有自己的渲染规则。(在 CSS3 中,BFC 叫做 Flow Root)

二、形成BFC模式的条件

float的值不为none
overflow值不为visible
position值不为static / relative
display的值为table-cell,table-caption, inline-block中的任何一个

三、BFC模式应用场景

1.高度坍塌(容器塌陷)看以下情景 :


子元素设置浮动父元素高度坍塌

可以看到父元素的高度为0,子元素浮动后不能撑开父元素的高度造成容器塌陷这时只需给父元素设置

overflow: hidden;
zoom:1;   /*兼容IE9以下*/
父元素高度被撑起

2.阻止外边距margin叠加
当两个块级元素margin做如下设置时 :

.div1 {
            width: 100px;
            height: 100px;
            background-color: blue;
            margin-bottom: 100px;
            /*overflow: hidden;
            zoom:1;   兼容IE9以下*/
        }
.div2 {
            width: 100px;
            height: 100px;
            background-color: #ff0000;
            margin-top: 50px;
            /*float: left*/
        }

marin会以大的为主,即实际两个div产生的margin只有100px,这时打开注释的代码,使其变为BFC模式你会发现margin不再折叠。

3.防止浮动元素遮住文档流中元素
当3列布局采用浮动的方法时难免会产生遮挡情况

.left {
            width: 200px;
            height: 800px;
            background-color: blue;     
            float: left;    
        }
        .right {
            width: 200px;
            height: 800px;
            background-color: green;
            float: right;
        }
        .center {
            width: 500px;
            height: 800px;
            background-color: #ff0000;
            /*overflow: hidden;*/           
        }

此时给中间元素设置overflow:hidden属性即可清除浮动。

相关文章

  • BFC模式原理及应用

    一、什么是BFC模式 BFC(Block Fomatting Context)为块级格式化上下文的的简称。实质上可...

  • ★ BFC / 浮动

    概念 触发 BFC 特性及应用 概念 BFC Block Formatting Contexts 块级格式化上下文...

  • 前端常见面试题目(四)

    一、 BFC 及其应用 1、BFC 概念 BFC 就是块级格式上下文,是页面盒模型布局中的一种 CSS 渲染模式,...

  • 12、观察者模式

    原理及应用场景剖析 观察者模式(Observer Design Pattern)也被称为发布订阅模式(Publis...

  • BFC原理及示例

    一、常见定位方案 在讲 BFC 之前,我们先来了解一下常见的定位方案,定位方案是控制元素的布局,有三种常见方案: ...

  • 【CSS】深入理解BFC原理及应用

    BFC的定义### 先看W3C文档 In a block formatting context, boxes ar...

  • bfc理解及应用

    bfc 是盒模型布局的css渲染模式。属于正常文档流。 首先BFC是一个名词,是一个独立的布局环境,我们可以理解为...

  • BFC及其应用

    前言 本文包括以下内容: 什么是BFC 如何产生BFC BFC的特点 应用BFC 1、什么是BFC BFC (Bl...

  • 行为型-Observer

    行为型设计模式主要解决的就是“类或对象之间的交互”问题。 原理及应用场景剖析 观察者模式(Observer Des...

  • 布局

    两栏布局(bfc)demo 原理:BFC的区域不会与float box重叠。通过触发main生成BFC, 来实现自...

网友评论

      本文标题:BFC模式原理及应用

      本文链接:https://www.haomeiwen.com/subject/huwvcqtx.html