CSSのpositionプロパティの種類と違い

当ページのリンクには広告が含まれています。
  • URLをコピーしました!
生徒

CSSのpositionプロパティの違いがわかりません

先生

CSSのpositionプロパティの種類とレイアウトの違いを説明します

この記事でわかること
  • CSSのpositionプロパティの種類
  • positionプロパティによるレイアウトの違い
目次

CSSのpositionプロパティについて

CSSで要素の配置位置を指定するにはpositionプロパティを使用します。

positionプロパティを指定することでいろいろなレイアウトが行えます。

positionプロパティの種類

positionプロパティには以下の種類があります。

説明
position: static;(デフォルト)通常のレイアウトで配置
position: relative;通常のレイアウトからずらす位置を指定
position: absolute;祖先要素からの位置を指定
position: fixed;画面上での位置を指定
position: sticky;祖先要素に吸着する位置を指定

position: static; は標準の位置に配置する

position: static;通常フロー(CSSのデフォルトの配置ルール)の位置に配置します。

位置を指定するtop,right,bottomleftz-index プロパティを指定しても効きません。

positionプロパティの初期値(positionプロパティを指定しなければposition: static;)なので指定することはほとんどありません。

position: relative;は標準の配置から位置をずらす

position: relative;通常フローの位置を基準にした位置を指定します。

top,right,bottomleftz-index プロパティで通常フローからずらす位置を指定できます。

position: relative;は指定した要素だけに影響して、その後の要素の位置は通常フローに戻ります。

position: absolute;は祖先要素からの位置を指定する

position: absolute;を指定した要素は通常フローとは別に指定した位置に表示します。

直近の位置指定された祖先要素からの位置になる

位置指定されたとは、position: static;以外の要素という意味で、position: relative;などが指定された要素になります。

position: absolute;を指定した要素のtop,right,bottom,leftの位置は、位置指定された祖先要素が基準になります。

位置指定された祖先要素が無い場合は、画面の左上が基準となります。

position: absolute;を指定した要素は通常フローから離れるため、ボックス1ボックス3の間にボックス2のスペースはできません。

position: fixed; は常に画面の固定位置に表示する

position: fixed;通常フローとは別に指定した位置に常に固定して表示します。

常に固定して表示されるため画面をスクロールしても固定位置に残り続けます

position: sticky; は包含ブロックに吸着する

position: sticky;通常フローの位置を基準にして、直近のスクロールする包含ブロックからの相対位置を指定します。

よかったらシェアしてね!
  • URLをコピーしました!
目次