position配置方法
通常フローに沿って並ぶか、基準となる箱から位置を指定するかを5つの値で選びます。
要素をどの基準で配置するかを決めるプロパティ。通常の並びを保つか、親要素や画面を基準に置くかを切り替えます。
.element position: static;
値のパターン
position通常フローに沿って並ぶか、基準となる箱から位置を指定するかを5つの値で選びます。
top / right / bottom / leftstatic以外では、topなどのインセットプロパティを組み合わせて最終的な位置を決めます。
containing blockabsoluteは直近の配置された祖先、fixedは通常画面、stickyはスクロールする祖先を基準にします。
初期値はstaticです。通常フローに残る値と外れる値、位置の基準がどこになるかを比べます。
static通常の流れに並ぶ初期値relative元の位置からずらす元の空間を保つabsolute祖先を基準に置く通常フローから外れるfixed画面を基準に固定スクロールしても留まるstickyしきい値で固定スクロール領域内親をrelativeにして基準を作り、子をabsoluteにすると、カードの角へ重ねて配置できます。
.card { position: relative; } .badge { position: absolute; top: 8px; right: 8px; }ページをスクロールしても同じ場所に残したい操作は、fixedとインセットで画面端へ配置します。
position: fixed; right: 24px; bottom: 24px;スクロール領域の上端へ到達したら留めたい見出しには、stickyとtopを組み合わせます。
position: sticky; top: 0;ポイント
relative・absolute・fixed・stickyは、topやleftなどを組み合わせて位置を決めます。absoluteの基準にしたい親にはposition: relativeを指定します。absoluteやfixedで通常フローから外した要素は、文字を拡大したときや画面が狭いときにほかの内容へ重ならないかも確認します。positionはすべての要素に適用でき、通常は子要素へ継承されません。
position と一緒に使われるプロパティや、詳しい外部リファレンスをまとめました。