包含ブロック

包含ブロック

[2]

CSS 2.1 では、位置大きさの多くは包含ブロック (containing block) と呼ばれる矩形に対して計算します。通常、生成された子孫包含ブロックとして働きます。これを、がその子孫包含ブロック確立 (かくりつ) (establish) するといいます。包含ブロックという言葉は、そのが存在する包含ブロックを意味します (そのが生成する包含ブロックではありません)。

はその包含ブロックに対しての位置が与えられますが、包含ブロックによってその位置が制限されるわけではありません。溢れることがあります。

CSS 2.1 9.1.2

仕様書

定義

[15] 包含ブロックは次の通り定められています。 CSS 2.1 10.1

[16] 逆の見方では、

包含ブロックに対する相対指定

[3] <margin-width>, <padding-width> の値 <percentage>
包含ブロック (margin-top, padding-bottom でも。) に対する値です。ただし、包含ブロックの幅がその要素自身に依存する場合の配置は未定義です。 CSS 2.1 8.3, 8.4
[5] 絶対配置
絶対配置モデルではその要素の位置が包含ブロックに対して定められます。 CSS 2.1 9.3, 9.3.1, 9.7 <percentage>包含ブロック高さ (top, bottom) (right, left) に対する値です。 CSS 2.1 9.3.2 top などの包含ブロックブロック水準要素に由来する場合、 padding辺からの距離とみなされます。 CSS 2.1 9.3.2 Note
[17] width, min-width, max-width の値 <percentage>
包含ブロックに対する値です。 包含ブロックがその要素自身に依存する場合の配置は未定義です。 CSS 2.1 10.2, 10.4 min-width, max-width包含ブロックの時は、 使用値0 です。 CSS 2.1 10.4 包含ブロックブロック水準要素に由来する場合、 padding箱を使って計算します。 CSS1 では内容箱でした。 CSS 2.1 10.2 Note
[20] height, min-height, max-height の値 <percentage>
包含ブロック高さに対する値です。ただし包含ブロック高さ内容によって決まる非絶対配置の時は、 auto/none/0算出値です。 CSS 2.1 10.5, 10.7
[22] text-indent の値 <percentage>
包含ブロックに対する値です。 CSS 2.1 16.1

包含ブロックに対する位置決定

関連

[13] スタック付け文脈包含ブロックは必ずしも一致しません CSS 2.1 9.9.1

[21] ある要素に対する overflow によってくりぬかれる対象となるのはその要素子孫ですが、 子孫であっても、

は対象外となります。 CSS 2.1 11.1.1