CSS

absolute・relative の違い

初級

読み方:アブソリュート・レラティブ のちがい|英語:absolute vs relative

relativeは元の位置を基準にずらす配置。absoluteは親要素を基準に自由に配置する。

やさしい説明

relativeは元の位置を基準にずらします。absoluteは親要素(positionが指定された)を基準に自由に配置します。

relative は「自分の席から少しずれる」イメージ。元の席は残ったまま、見た目だけずれます。absolute は「教室のどこにでも移動できる」イメージ。元の席は消えます。

absoluteを使うときは親にrelativeを付けるのがセットです。これを忘れると画面全体が基準になってしまいます。

具体例・使い方

/* relative: 元の位置から10px下にずれる */
.box { position: relative; top: 10px; }

/* absolute: 親の左上に配置 */
.parent { position: relative; } /* ← 必須! */
.badge { position: absolute; top: 0; right: 0; }

いつ使う?

カードの右上に「NEW」バッジを置く → absolute。要素を少しだけずらしたい → relative。absoluteの基準を作る → 親にrelative。

間違いやすいポイント

❌ absoluteの親にrelativeを付け忘れる

親にpositionが指定されていないと、absoluteの基準がbody(画面全体)になり、意図しない場所に飛びます。

よくある疑問

Q: absoluteを使うとき、親に何が必要?

A: 親要素にposition: relativeを指定します。これがないとページ全体が基準になります。

Q: relativeだけ指定して何も動かさないのはなぜ?

A: 子要素のabsoluteの基準点にするためです。よく使うテクニックです。

関連用語

📖 関連レッスン

レッスンを見る →

関連ブログ記事

⚠️ 関連するエラー

❓ 関連するQ&A