zoukankan      html  css  js  c++  java
  • BFC 规则

     BFC:(block formatting context)中文直译:块级格式化上下文;

    BFC定义是页面中css渲染的一部分。主要用于“决定”盒子的布局以及浮动(相互影响范围)的一块区域。

    在进行盒子元素布局的时候, BFC 提供了一个环境, 在这个环境中按照一定规则进
    行布局不会影响到其它环境中的布局。比如浮动元素会形成 BFC,浮动元素内部子元素
    的主要受该浮动元素影响,两个浮动元素之间是互不影响的。
    也就是说,如果一个元素符合了成为 BFC 的条件,该元素内部元素的布局和定位
    就和外部元素互不影响(除非内部的盒子建立了新的  BFC), 是一个隔离了的独立容器。
     
    那么如何产生(触发)BFC 规则:
     1)根源素
     2)  float 的值不为 none;
     3)  overflow 的值不为 visible;
     4)  display 的值为  table-cell、table-caption 和 inline-block 之一;
     5)  position 的值不为  absolute  或  fixed 中的任何一个;
    触发BFC后,BFC的布局规则:
     
     1)内部的块级元素在垂直方向上一个接一个的放置;
     2)块级元素垂直方向margin重叠,取最大值,(在同一个BFC中的两个相邻元素)
     3)每个元素的margin box的左边与包含块的border box左边接触。(即使浮动也是如此)
     4)BFC区域不会与float重叠。
     5)BFC是一个独立的区域(容器),容器内的子元素不会影响外面的元素。
     6)计算BFC高度时。浮动元素也要参加。
     7)只应用于BFC的子级元素。对产生BFC的元素不适用。
     
  • 相关阅读:
    保留字段数组,一定要用char
    VirtualBox安装CentOS 7及其相关配置
    istringstream是支持>>一个bool的,但为什么不用?
    用vector实现一个变长数组
    C语言为什么被const声明的变量不是一个常量表达式
    不咬文嚼字的理由
    int变量赋值给char变量的本质
    #include <> 和 #include "" 的区别
    C++中匿名对象应当是一个左值
    js实战之-间断文字滑动
  • 原文地址:https://www.cnblogs.com/whitesnow/p/7711148.html
Copyright © 2011-2022 走看看