包含块

作者: good__day | 来源:发表于2019-06-04 13:57 被阅读0次

建议直接阅读官方文档:

https://developer.mozilla.org/zh-CN/docs/Web/CSS/All_About_The_Containing_Block

以下为自己的简单整理:

一个元素的尺寸和位置经常受其包含块的影响。

大多数情况下,包含块就是这个元素最近的祖先块元素内容区,但也不是总是这样。比如一些 position 为 absolute 或其他值的元素。

一、包含块的影响

元素的尺寸及位置,常常会受它的包含块所影响。对于一些属性,例如 widthheightpaddingmargin,绝对定位元素的偏移值 (比如 position 被设置为absolute 或 fixed),当我们对其赋予百分比值时,这些值的计算值,就是通过元素的包含块计算得来。

二、根据包含块计算百分值

要计算 height top 及bottom 中的百分值,是通过包含块的height 的值。如果包含块的 height 值会根据它的内容变化,而且包含块的position属性的值被赋予 relative 或 static ,那么,这些值的计算值为 0。

要计算 widthleftrightpaddingmargin 这些属性由包含块的 width 属性的值来计算它的百分值。

三、确定包含块

如果 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,在连续媒体的情况下(continuous media)包含块是 viewport ,在分页媒体(paged media)下的情况下包含块是分页区域(page area)。

如果 position 属性是 absolute 或 fixed,包含块也可能是由满足以下条件的最近父级元素的内边距区的边缘组成的:

相关文章

  • 包含块

    包含块(Containing Block)某个元素的尺寸和位置的计算往往是由该元素所在的包含块决定的,包含块不会特...

  • 包含块

    建议直接阅读官方文档: https://developer.mozilla.org/zh-CN/docs/Web/...

  • 2017.9.12 包含块

    Containeing Block (包含块) 在CSS2.1 中,很多框的定位和尺寸的计算,都取决于一个矩形的边...

  • css包含块

    如果想要给一个元素做absolute定位,就要考虑他的包含块,这个元素的父级元素只有在将position属性设置为...

  • CSS包含块

    根元素:初始包含块 static/relative 元素:由它最近的 block、table cell(类似 ...

  • CSS包含块

    1,写在前面的话 CSS目前还不被认可是一门真正的编程语言,虽然现在已经有像less、saas、stylus这样的...

  • html之包含块

  • [CSS] 包含块模型

    包含块模型(Containing Block) 当WebKit计算元素的箱子的位置和大小时,WebKit需要计算该...

  • containing block

    containing box 是包含块的意思 在 HTML 中,html 元素就是一个包含块(即初始包含块) 如果...

  • 包含块、块级元素、块元素等等

    包含块 一个元素,它的框的尺寸和位置会相对于一个特定的矩形框边缘来计算而得到,这个特定的矩形框称之为该元素的包含块...

网友评论

      本文标题:包含块

      本文链接:https://www.haomeiwen.com/subject/kdvlxctx.html