カテゴリ: CSS 更新日: 2025/11/30

CSSのtop・right・bottom・leftの使い方を完全解説!初心者でもわかる位置指定ルール

top・right・bottom・left の位置指定と動作ルール
top・right・bottom・left の位置指定と動作ルール

先生と生徒の会話形式で理解しよう

生徒

「先生、CSSで要素を上下左右に動かすにはどうすればいいですか?」

先生

「CSSでは、positionプロパティと組み合わせてtop、right、bottom、leftを使うことで、要素の位置を自由に調整できます。」

生徒

「positionプロパティって何ですか?」

先生

「positionは、要素の配置方法を決めるCSSプロパティです。例えば、relative、absolute、fixed、stickyの4種類があります。top・right・bottom・leftは、これらの位置指定と一緒に使うことで動作が変わります。」

生徒

「どの順番で使うと理解しやすいですか?」

先生

「まずはrelativeで親要素を基準に動かす方法、absoluteで親要素基準の絶対位置指定、fixedで画面基準の固定、そしてstickyでスクロールに応じた固定を見ていきましょう。」

1. top・right・bottom・leftの基本動作

1. top・right・bottom・leftの基本動作
1. top・right・bottom・leftの基本動作

top、right、bottom、leftは、要素を上下左右に動かすためのCSSプロパティです。単位にはpx(ピクセル)、%、emなどを使います。

例えば、top: 20px;と書くと、要素の上端から20px下に移動します。ただし、このプロパティが効くかどうかはpositionの値によって変わります。

2. position: relativeとtop・leftの組み合わせ

2. position: relativeとtop・leftの組み合わせ
2. position: relativeとtop・leftの組み合わせ

relativeは、要素自身の元の位置を基準に位置を調整します。元の位置をずらすイメージです。


<style>
    .relative-box {
        position: relative;
        top: 20px;
        left: 30px;
        background-color: #ffc107;
        padding: 20px;
        width: 150px;
        text-align: center;
    }
</style>

<div class="relative-box">relative + top/left</div>
ブラウザ表示

上の例では、relativeの元の位置を基準に20px下、30px右にずれます。

3. position: absoluteとtop・right・bottom・leftの組み合わせ

3. position: absoluteとtop・right・bottom・leftの組み合わせ
3. position: absoluteとtop・right・bottom・leftの組み合わせ

absoluteは、親要素を基準に絶対位置を指定します。親要素にposition: relativeを設定していれば、その親の中で位置が決まります。


<style>
    .parent {
        position: relative;
        width: 300px;
        height: 200px;
        background-color: #e9ecef;
        margin-bottom: 20px;
    }
    .absolute-box {
        position: absolute;
        top: 20px;
        right: 20px;
        background-color: #0d6efd;
        color: white;
        padding: 10px;
    }
</style>

<div class="parent">
    <div class="absolute-box">absolute + top/right</div>
</div>
ブラウザ表示

absoluteは親要素の左上を基準にtopやrightで位置を指定します。

4. position: fixedとtop・leftの組み合わせ

4. position: fixedとtop・leftの組み合わせ
4. position: fixedとtop・leftの組み合わせ

fixedは画面を基準に位置を固定します。スクロールしても動かず、ナビゲーションバーやヘッダーに便利です。


<style>
    .fixed-box {
        position: fixed;
        top: 10px;
        left: 10px;
        background-color: #198754;
        color: white;
        padding: 10px;
    }
</style>

<div class="fixed-box">fixed + top/left</div>
<div style="height:800px;"></div>
ブラウザ表示

スクロールしても画面の上から10px、左から10pxの位置に固定されています。

5. position: stickyとtopの組み合わせ

5. position: stickyとtopの組み合わせ
5. position: stickyとtopの組み合わせ

stickyはスクロールに応じて固定される特性があります。topを指定すると、その位置までスクロールしたら止まります。


<style>
    .sticky-header {
        position: sticky;
        top: 0;
        background-color: #ffc107;
        padding: 10px;
        font-weight: bold;
    }
    .content {
        height: 1200px;
        background-color: #f8f9fa;
        padding: 20px;
    }
</style>

<div class="sticky-header">sticky + top</div>
<div class="content">長い記事の内容</div>
ブラウザ表示

スクロールするとsticky-headerが画面上部で止まり、ユーザーが内容を見失わないように固定されます。

6. top・right・bottom・leftを使うときのルールまとめ

6. top・right・bottom・leftを使うときのルールまとめ
6. top・right・bottom・leftを使うときのルールまとめ
  • relativeでは元の位置を基準にずれる
  • absoluteでは親要素を基準に絶対位置を指定
  • fixedでは画面全体を基準に固定
  • stickyではスクロールに応じてtopやbottomで固定
  • 単位にはpxや%などを使い、親要素や画面に対する距離を設定

これらの基本ルールを押さえると、ページ上での要素配置が自由にでき、ナビゲーションや広告、見出しなどのUIを整えることができます。

カテゴリの一覧へ
新着記事
New1
Bootstrap
Bootstrapのガターをマスター!g-0〜g-5とgx/gyの使い分けコツ
New2
CSS
CSSグリッド完全解説!auto-fitとauto-fillの違いとレスポンシブ設計での正しい使い分け
New3
Bootstrap
Bootstrapブレークポイントの設計図!sm/md/lg/xlの選び方と実務基準
New4
CSS
CSSグリッド入門!grid-areaで名前付き領域を使ったレイアウトの作り方をやさしく解説
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.5
Java&Spring記事人気No5
CSS
CSSのフレックスボックスで要素を左右に寄せる方法を完全ガイド!初心者でもわかるjustify-content: space-between
No.6
Java&Spring記事人気No6
CSS
CSSフレックスボックス完全解説|Gridとの違いとFlexboxが得意なレイアウトパターンを初心者向けに理解しよう
No.7
Java&Spring記事人気No7
CSS
CSS Flexbox入門!display: flexの基本と適用方法を初心者向けに解説
No.8
Java&Spring記事人気No8
CSS
CSSの斜体文字を完全解説!初心者でもわかるfont-style: italicの使い方