CSSのボックスの配置のサンプルです。
positionプロパティのrelativeについてです。
目次
position プロパティ
| position : 値 |
| 値 | 説明 |
|---|---|
| static | 通常の配置です。(初期値) |
| relative | 元の位置からの相対的(relative)な配置になります。 |
| absolute | 親要素からの絶対的(absolute)な配置になります。 |
| fixed | ウィンドウの表示領域を基準とした配置になります。 |
| 値を継承しない | |
- ボックスの配置方法を指定します。
- 以下はMDNのpositionプロパティのリンクです。
- https://developer.mozilla.org/ja/docs/Web/CSS/position
1.前提
この「1.前提」から「4.relativeを追加 (rightとbottomを使用)」まで連続した説明になります。
以下のcssのボックスが2つ縦に並んでいるとします。

上記イメージのコードです。
<style>
#box1{
width: 150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
#box2{
width:150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
</style>
<body >
<div id="box1">box1</div>
<div id="box2">box2</div>
</body>
2.relativeを追加 (topとleftを使用)
box2にposition:relativeとtopとleftを追加しました。
<style>
#box1{
width: 150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
#box2{
position:relative;
top: 10px;
left: 20px;
width:150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
</style>
<body >
<div id="box1">box1</div>
<div id="box2">box2</div>
</body>
画面イメージは次のようになります。

元の位置より指定した値の分ずれています。相対的(=relative)な配置になります。
top:10px・・・元の位置より上辺までの距離を10pxとする。(下にずれる)
left:20px・・・元の位置より左辺までの距離を20pxとする。(右にずれる)
3.box2の下にbox3がある場合
box2の下にbox3を追加しました。
画面イメージは次のようになります。
box3は、box2がずれていないときの下に表示されます。

上記イメージのコードです。
<style>
#box1{
width: 150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
#box2{
position:relative;
top: 10px;
left: 20px;
width:150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
#box3{
width:150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
</style>
<body >
<div id="box1">box1</div>
<div id="box2">box2</div>
<div id="box3">box3</div>
</body>
4.relativeを追加 (rightとbottomを使用)
box2のtopとleftをrightとbottomに変更しました。
<style>
#box1{
width: 150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
#box2{
position:relative;
right: 5px;
bottom:10px;
width:150px;
height: 30px;
color: #000;
border:1px solid #000;
background-color:#E0FFFF;
}
</style>
<body >
<div id="box1">box1</div>
<div id="box2">box2</div>
</body>
画面イメージは次のようになります。

元の位置より指定した値の分ずれています。相対的(=relative)な配置になります。
right: 5px・・・元の位置より右辺までの距離を5pxとする。(左にずれる)
bottom:10px・・・元の位置より下辺までの距離を10pxとする。(上にずれる)
関連の記事
CSS 要素の枠内の余白を指定するサンプル(padding)
CSS 要素の枠外の余白を指定するサンプル(margin)
CSS 幅と高さを指定するサンプル(widthとheight)
CSS テーブルの枠線を重ねる/離すサンプル(border-collapse)
CSS テーブルの枠線の間隔を指定するサンプル(border-spacing)
CSS 回り込みと解除のサンプル(floatとclear)
CSS ボックスの配置のサンプル(positionのabsolute)
CSS ボックスの配置のサンプル(positionのfixed)
CSS 要素の重なる順番を指定するサンプル(z-index)
CSS paddingとborderの表示方法を指定する(box-sizing)
CSS ボーダーの表示方法を指定するサンプル(border)
CSS 要素のボックスの種類を指定するサンプル(display)