BFC的布局规则以及触发条件

1 .BFC的含义 :

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

                          它决定了块级元素如何对它的内容进行布局,以及与其他元素的关系和相互关系

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

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

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

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

2.触发条件 :

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

                                    1.float的值不为none

                                    2.overflow的值不为visible

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

                                    4.position的值不为static或则releative中的任何一个

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

                 普通文档流布局规则

                  1.浮动的元素是不会被父级计算高度

                  2.非浮动元素会覆盖浮动元素的位置

                  3.margin会传递给父级

                  4.两个相邻元素上下margin会重叠



                        BFC布局规则

                        1.浮动的元素会被父级计算高度(父级触发了BFC)

                        2.非浮动元素不会覆盖浮动元素位置(非浮动元素触发了BFC)

                        3.margin不会传递给父级(父级触发了BFC)

                        4.两个相邻元素上下margin会重叠(给其中一个元素增加一个父级,然后让他的父级触发BFC)

<divstyle="border:1px solid #f00;overflow:hidden; ">
<divstyle="width:100px; height:100px; background:green;float:left;">kaivon</div>
</div>
<divstyle="border:1px solid #f00;margin-top:100px; ">
<divstyle="width:100px; height:100px; background:green;float:left;">kaivon1</div>
<divstyle="width:100px; height:100px; background:red;overflow:hidden;">kaivon2</div>
</div>
<divstyle="background:blue;margin-top:100px;overflow:hidden;">
<divstyle="width:100px; height:100px; background:green; margin-top:100px;">kaivon1</div>
<divstyle="width:100px; height:100px; background:red;">kaivon2</div>
</div>
<divstyle="margin-top:100px; border:1px solid red;">
<divstyle="width:100px; height:100px; background:green; margin:100px0;">kaivon1</div>
<divstyle="overflow:hidden;">
<divstyle="width:100px; height:100px; background:red; margin:100px0;">kaivon2</div>
</div>
</div>

              overflow              针对超出父级的内容如何显示

              visible               默认值,超出的内容会显示出来
              auto                  如果内容超出了父级,那就出现滚动条,如果内容没有超出,那就不出现滚动条
              hidden                超出的内容给隐藏掉              
              scroll                不管内容是否超出都出现滚动条  

来源:https://www.cnblogs.com/CafeMing/p/6252286.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,865评论 1 92
  • 先前在学习CSS float时,有同学提到了BFC这个词,作为求知好问的好学生,哪里不懂查哪里,那么今天就来研究一...
    这名字真不对阅读 6,599评论 3 19
  • 1.背景介绍 BFC全称是Block Formatting Context,是CSS2.1规范定义的,关于CSS渲...
    你隔壁的陌生人阅读 1,191评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,917评论 1 45
  • 那一年,我曾牵着一辆自行车,碾过记忆中的落叶。 年少时光在安静中悄然而逝,当初的理想似乎也变成了落地的灰。我始终习...
    冀语阅读 774评论 0 7