美文网首页
盒子的特性 --- BFC

盒子的特性 --- BFC

作者: 时间的溺水者 | 来源:发表于2020-05-18 11:21 被阅读0次

概念

Bfc全称block formatting context直译为“块级格式化上下文”,它是W3C CSS 2.1规范中的一个概念,他决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用,通俗的讲,BFC就是“块级格式化上下文”的意思,创建了 BFC的元素就是一个独立的盒子,不过只有Block-level box可以参与创建BFC, 它规定了内部的Block-level Box如何布局,并且与这个独立盒子里的布局不受外部影响,当然它也不会影响到外面的元素。

如何触发BFC

1、浮动元素(元素的 float 不是 none)

2、绝对定位元素(元素的 position为 absolute 或 fixed)

3、行内块元素(元素的 display 为inline-block;table-cell ;flex;inline-flex

4、overflow 值不为 visible 的块元素(常用overflow: hidden;)

BFC的布局规则:

1、bfc内部盒子在垂直方向上依次放置, 两个box的外边距(margin)会发生重叠,

  从效果上看的话,两个p元素都处于同一个BFC容器中,所以第一个p元素的下边距会和第二个p元素的上边距重合。重合之后,最终显示的边距是取最大的那个值,也就是25px。所以两个p元素之间的边距值是25px,标准的应该是30px才对。
    
解决方法:

将发生重叠的盒子放在另外一个BFC容器中,即添加一个父盒子,将该盒子设置为BFC容器


2、盒子垂直方向上的间距由margin决定,同一个bfc下的盒子的margin会发生重叠
3、内部每个盒子的margin-left会触碰到容器的border-left,浮动盒子也是这样
4、Bfc区域不会和浮动元素重叠
5、计算bfc高度时,浮动元素会参与计算
6、Bfc里面的子元素不会影响到外面的元素

BFC应用:

1、解决浮动塌陷问题

父元素中只有浮动元素且父元素未设置高度和宽度时,由于浮动元素脱离文档流,所以父元素没有内容,高和坍塌为0

2、margin重叠问题

将盒子都设成bfc盒子

3、margin塌陷

父元素中子元素的margin-top比父盒子的还要大。由于都属于html跟元素下的bfc,所以在垂直方向会发生重叠,取最大值

将父元素设置为bfc overflow:hidden

4、两栏布局

左侧float: fleft 右侧overflow: hidden;

<style>
.left{
    width: 200px;
    height: 200px;
    background-color: red;
    float: left;
}
.right{
    height: 300px;
    background-color: lime;
   overflow: hidden;
}
</style>
    

<div class="left"></div>
<div class="right"></div>

相关文章

  • 多列布局思路

    首先阅读:BFC与多列布局 通过BFC特性:float + BFC盒子 通过margin回拉(用到float)或绝...

  • 关于css中BFC的理解

    1.BFC的理解:块格式化上下文2.BFC 特性(功能):(1).使用BFC可以取消盒子margin塌陷(over...

  • BFC是盒子的特性

    BFC是什么? 简单说BFC(Block Formatting Context)是块级元素的机制,需要在特定情况下...

  • 什么是BFC,和清除浮动的原理

    bfc是什么 bfc元素表现的特性就是一个独立的盒子,内部的子元素再怎么折腾都不会影响外部的元素和父元素,如果触发...

  • 块状格式化上下文BFC

    BFC是什么? BFC,块状格式化上下文,其实是一个隔离的独立盒子(容器),他有以下特性: 容器里面的子元素不会影...

  • BFC

    1. BFC 1.BFC是什么 Span是盒子,div也是盒子。 所有的盒子都是FC,格式化上下文。 可能是BFC...

  • 前端面试题之CSS(四)

    BFC 是什么?如何生成 BFC?有什么特性?BFC 有什么作用?举例说明 BFC(Block formattin...

  • BFC

    一、什么是BFC? bfc即:block formatting contexts,具有bfc特性的元素可以看作是隔...

  • CSS 其他小点

    对BFC规范的理解? BFC,块级格式化上下文,一个创建了新的 BFC 的盒子是独立布局的,盒子里面的子元素的样式...

  • 从例子来看BFC

    BFC 首先BFC的英文全称Block Format Context,也就是块级格式化上下文。 BFC特性 首先,...

网友评论

      本文标题:盒子的特性 --- BFC

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