positionプロパティの基本とstatic・relative・absolute・fixedの使い方

position基本と使い方 HTML・CSS

positionプロパティにはstatic・relative・absolute・fixed・stickyがあります。この記事ではstatic・relative・absolute・fixedのそれぞれの違いや使い方を紹介します。

positionの種類がたくさんあって、最初の方は自分自身が戸惑ったのでまとめてみました。

position 位置の指定方法(基本)

positionプロパティとは

positionプロパティは基準をもとに要素の位置を指定して配置させたり、要素を重ねたりすることができるプロパティです。位置の指定方法は以下の通りです。

位置の指定方法(基本)

【位置の指定方法】
1.position基準をどこにするかを指定する
2.top・bottom・right・leftで基準の端からの距離を指定する

レイアウトするときは2方向の組み合わせで使うことが多いです
ごん先生
ごん先生

基準の決め方にはいろいろあるので、以下の5つのプロパティを表にまとめました

positionプロパティの値 5種類の違い

positionプロパティの値には、現時点で以下の5つがあります。


(和訳)
説明top/bottom/right/left
の位置指定
z-index(※)の指定=要素を重ねることができるか
static
(静的)
通常配置される位置に配置される。positionの初期値。できないできない
relative
(相対的)
通常配置される位置を基準に相対的な位置指定ができる。できる
(通常配置される位置を基準に配置する)
※relativeを親要素に指定すると、absoluteを使うときの基準になる。
できる
absolute
(絶対的)
単独で使う場合は画面左上が基準、relativeと一緒に使う場合は親要素を基準に絶対的な位置指定ができる。できる
(画面左上または親要素を基準に配置する)
できる
fixed
(固定した)
Viewport(ウインドウの中で今見えている部分)内の特定の場所に固定できる。できる
(今見えている画面を基準に固定する)
できる
sticky
(粘着性のある)
境目となる値に届くまでは相対的な配置として扱われ、反対の端が来るまでその位置に粘着する。
※古いInternet Explorerに対応していない。
できる
(親・兄弟要素を基準に固定する)
できる
positionプロパティの値 5種類の説明

※z-indexは要素の重なりを指定するプロパティで、数字が大きいほど前面に配置される。

position:static の使い方

position:static; とは

positionの初期値で、特に指定しなければこの値になっています。staticだけは上下左右の配置の指定やz-indexを指定することはできません

【staticの使い方】
→あえて指定するのは、下記のような場合(普通は記述しない)
relative、absolute、fixedなどで要素の位置を決めたものを通常の配置に戻すとき
(例:スマホ用では固定していた要素をPC用では固定しないなど)。

ごん先生
ごん先生

 staticはなかなか使わないけど、次の3つrelativeとabsoluteとfixedはよく使いますね。

position:relative の使い方

通常配置される位置を基準にして上下左右(top,bottom,left,right)で相対的な配置ができます。absoluteと一緒に使うときは親要素にrelativeを指定すると、relativeがついた要素が基準になります。z-indexも指定できます。

相対的な位置(配置)とは?

「相対的な位置(配置)」とはどんなことか、イメージしにくかったので辞書を引いてみました。

他との関係において成り立つさま。また、他との比較の上に成り立つさま。
「―な価値」「物事を―に見る」⇔絶対的。

goo辞書

もう少しわかりやすくイメージできるように①relativeの単独での使う方法②absoluteと一緒に使う方法を図で描いてみました。
▼どちらの例も左上からの距離ですが何を基準にしているかが違います。

relativeは①単独で使う場合と②absoluteと一緒に使う場合で、基準が変わる

relativeは単独で使う場合と、absoluteと一緒に使う場合では、基準が変わるんですね。まさに辞書通り「他との関係において成り立つさま」です。

【relative使い方】
①単独で使う場合
1.通常配置される場所を基準にする
2.top・bottom・right・leftで基準の端からの距離を指定する

absoluteと一緒に使う場合(下記で具体的な使用例を追記)
1.relativeをつけた親要素を基準にする
2.top・bottom・right・leftで基準の端からの距離を指定する

position:absolute の使い方

relative・absolute・fixed・stickyのどれかが指定されている「親要素」を基準として、左右上下の位置を指定・z-indexも指定できます。配置したい要素それ自体に指定します。
※基準が指定されていない場合はブラウザウィンドウの左上が基準位置となるが、通常はrelativeで基準を親要素に変更して使う

relativeと一緒に使う方がよく使うので、覚えておく

【absolute使い方】
①単独で使う場合
1.ウインドウの左上が基準になる
2.top・bottom・right・leftで基準の端からの距離を指定する

relativeと一緒に使う場合
1.relativeをつけた親要素を基準にする
2.top・bottom・right・leftで基準の端からの距離を指定する

position:fixed の使い方

position:fixedは、画面を動かしてもある要素を動かしたくない時に使用します。

【例】
・画面上部にヘッダー(メニュー)を固定する
・画面右上にハンバーガーメニューを設置する
・画面右下にトップに戻るボタンを固定表示する

fixedの使い方】
1.ViewPort(表示領域=今見えている画面)を基準にする
2.top・bottom・right・leftで基準の端からの距離を指定する

この記事では、positionの基本と4種類の使い方について簡単にご紹介しました。

ごん先生
ごん先生

positionプロパティは奥深くて、使いこなせばいろんなレイアウトができるようになるんだね。

▼position:stickyを使ってサイドバーを追従させる方法はこちらの記事に書いています。

プロフィール
この記事を書いた人
いまみ&ごん

在宅Webデザイナーになった主婦です。前職は編集系の仕事をしていました。退職後にWebデザインの職業訓練校を経て、Web制作会社でアルバイトを経験。現在は在宅でバナー制作を中心にお仕事をしています。Twitterをフォローしてもらえると喜びます。

いまみ&ごんをフォローする
HTML・CSSWebデザイン
いまみ&ごんをフォローする
Webデザときどきプログラミング
タイトルとURLをコピーしました