10.5 三个模型间关系
定位模型、display模型、BFC模型三者之间的关系如下。
1、脱离流与BFC
(1)脱离流定位元素本身的margin不会或周围margin发生折叠。
(2)脱离流定位元素内部自动创建BFC,内部不会与外部发生margin折叠。
(3)因为只有块级元素内部才能创建BFC,如果脱离流定位的元素是行内级元素会被自动转化成块级。按照下列表格进行转化。
display属性的块级转化
指定值specified value | 计算值computed value |
---|---|
inline 、inline-block | block |
inline-table | table |
inline-flex | flex |
inline-grid | grid |
2、display、position、float三者关系
(1)如果元素设置display:none,则包括后代不会创建盒子,position与float设置无效。
(2)如果设置position: absolute或fixed,则设置float: left 或right无效,即此时float计算值是none,display属性进行块级转化。
(3)如果设置float: left或right,则display属性进行块级转化。
(4)根元素html内部创建BFC,所以display属性也进行块级转化。