| 属性値 | 基準となる位置 | 位置指定属性 (top、bottom、left、right) の作用 |
|---|---|---|
| static (既定値) | 既定の位置 | なし ※1 |
| relative | あり | |
| absolute | 初期包含ブロックまたは位置指定された親要素 | |
| fixed | ウィンドウ
親要素の位置は考慮されない |
※1 staticとされた要素は、その子要素のtopやleftの基準となりません。
absoluteが指定された要素は流し込みの処理から外され、その要素のためにスペースが確保されません。よって後続する要素は、その要素に重なるように配置されます。
[absoluteの適用例]
次のように配置されている要素があるとして、
<div id="parent">
<div id="1A">1A</div>
<div id="2B">1B</div>
</div>
1Aや1Bなど、内包されるすべての要素に次のスタイルが適用されているものとします。
parent div {
width: 30px;
height: 30px;
margin: 5px;
}
| CSSの指定 | 適用例 | ||||||
|---|---|---|---|---|---|---|---|
|
1A
1B
|
要素1Aの親要素はpositionが未指定のため、absoluteで指定された位置はその要素内に収まりません。
| CSSの指定 | 適用例 | ||||||
|---|---|---|---|---|---|---|---|
|
2A
2B
|
要素2Aは、positionがrelativeな親要素を基準にその要素内に配置されます。一方で要素2Bはfixedのため、親要素に無関係に配置されます。
| CSSの指定 | 適用例 | ||||
|---|---|---|---|---|---|
|
3A
|
親要素をrelative、そして対象の要素をabsoluteとしてtopとleftを50%にすることで、親要素の中央に配置されます。ただしそれでは要素の左上の座標が中央に移動するだけのため、要素の幅と高さの半分をmarginに指定します。
または次のようにも記述できます。position: absolute; の指定で要素が上下左右中央配置になる理由 | WWW WATCH
| CSSの指定 | 適用例 | ||||
|---|---|---|---|---|---|
|
4A
|