Visual Format Content
更新日期:
1.在创建了BFC的元素中,其子元素按文档流一个接一个的放置,垂直方向上他们的起点都是一个包含块的顶部,两个相邻的元素之间的垂直距离取决于‘margin’特性。
注意1:两个相邻的普通流中的块框在垂直位置的空白边会发生折叠现象,也就是处于同一个BFC中的两个垂直窗口的 margin会重叠。
解决方法:因为生产BFC的元素不会和在流中的子元素发生空白折叠,所以解决这种问题的办法就是要为两个容器添加具有BFC的包裹容器。
2.在BFC中,每一个元素左外边与包含块的左边相接触(如果从右到左的格式化,就与右边接触),即使存在浮动也是这样(说明浮动都不会离开父元素);除非这个元素也创建了一个新的BFC;
3.BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会在布局上影响到外面的元素,外面也影响不到里面;
4.创建了BFC的元素不能与浮动元素重叠。表格的border-box、块级的替换元素、或是在普通流中创建了新的bfc(如元素的‘overflow’特性不为‘visble’时)的元素不可以与位于相同的BFC中的浮动元素相重叠;
5.当容器有足够的剩余空间容纳BFC的宽度时,所有浏览器会将BFC放置在浮动元素所在行的剩余空间内。
6.在IE6 IE7 IE8 Chrome Opera 中,当BFC的宽度介于“容器剩余宽度”与“容器宽度”时,BFC会显示在浮动元素的下一行;
7.在计算机生成了BFC的元素的高度时,其浮动元素应该参与计算;
生成BFC的方法:
float的值不为none。
overflow的值不为visible。
position的值不为relative和static。
display的值为table-cell, table-caption, inline-block中的任何一个。