bfc触发条件及解决方法

1.BFC的含义 :

            Block Formatting Contexts(BFC)块级元素格式化上下文

            Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。

            块级元素:父级(是一个块元素)

            内容:子元素(是一个块元素)

            其他元素:与内容同级别的兄弟元素

            相互作用:BFC里的元素与外面的元素不会发生影响        

2.触发条件:

             触发BFC的方式(一下任意一条就可以)

                1.浮动元素,float 除 none 以外的值

                2.定位元素,position(absolute,fixed);

                3.overflow的值不为visible

                4.display的值为table-cell、tabble-caption和inline-block之一

3.FBC布局与普通文档流布局区别

  • 普通文档流布局规则

         1.浮动的元素是不会被父级计算高度
    
         2.非浮动元素会覆盖浮动元素的位置
    
         3.margin会传递给父级
    
         4.两个相邻元素上下margin会重叠
    
  • BFC布局规则

            1.浮动的元素会被父级计算高度(父级触发了BFC)
    
            2.非浮动元素不会覆盖浮动元素位置(非浮动元素触发了BFC)
    
            3.margin不会传递给父级(父级触发了BFC)
    
            4.两个相邻元素上下margin会重叠(给其中一个元素增加一个父级,然后让他的父级触发BFC)
    

4.BFC的特性

 1.内部的Box会在垂直方向上一个接一个的放置。
  2.垂直方向上的距离由margin决定
  3.bfc的区域不会与float的元素区域重叠。
  4.计算bfc的高度时,浮动元素也参与计算
  5.bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。

5.解决BFC

利用overflow:hidden清除浮动,解决浮动的盒子无法撑出处于标准文档流的父盒子的height。

你可能感兴趣的:(bfc触发条件及解决方法)