CSS ボックスの配置のサンプル(positionのrelative)

CSSのボックスの配置のサンプルです。
positionプロパティのrelativeについてです。

目次

position プロパティ

position : 値
説明
static 通常の配置です。(初期値)
relative 元の位置からの相対的(relative)な配置になります。
absolute 親要素からの絶対的(absolute)な配置になります。
fixed ウィンドウの表示領域を基準とした配置になります。
値を継承しない

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)

△上に戻る