包含块 Containing Block
包含其他盒子的块称为包含块
当盒子的布局跑到包含块的外面时称为溢出(overflow)。
包含块影响盒模型属性和偏移属性:
- 如果 position 属性为 static 或 relative ,包含块就是由它的最近的祖先块元素(比如说inline-block, block 或 list-item元素)或格式化上下文(比如说 a table container, flex container, grid container, or the block container itself)的内容区的边缘组成的。
- 如果 position 属性为 absolute ,包含块就是由它的最近的 position 的值不是 static (也就是值为fixed, absolute, relative 或 sticky)的祖先元素的内容区的边缘组成。
- 如果 position 属性是 fixed,包含块就是由 viewport (in the case of continuous media) 或是组成的。
- 如果 position 属性是 absolute 或 fixed,包含块也可能是由满足以下条件的最近父级元素的内边距区的边缘组成的:
- A transform or perspective value other than 'none'
- A will-change value of transform or perspective
- A filter value other than 'none' or a will-change value of filter (only works on Firefox).
- contain/container