CSSのpositionプロパティは、ボックスの位置を計算するために、どの位置決め方式を使用するかを決定します。
スタイルシート属性positionは表示位置を指定します。通常、以下のスタイルシート属性と組み合わせて使用します。
position : absolute
position : fixed
position : static
position : relative
top: 0
の場合、HTML文書の最上部に表示される。
top: 0
の場合、表示領域の最上部に表示される。表示領域を下へスクロールしても、常に表示領域の最上部に表示される。
ヘッダーの位置を固定する例を以下に示す。
<header style="position: fixed; z-index: 1; right: .5rem">
<form action="https://google.com/cse" target="_top">
<input type="hidden" name="cx" value="xxxxxxxxxxxxxxxxx">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" size="31" placeholder="サイト内検索">
<input type="submit" name="sa" value="検索">
</form>
</header>
位置が固定化されたヘッダーは、画面をスクロールしてもスクロールアウトされない。
スタイルシート属性 top は、上端からの表示位置を指定します。通常、スタイルシート属性 position と組み合わせて使用します。
top : auto
top : length
top : percentage
CSS の top プロパティには、以下に示すいずれかの値を指定できる。
top: auto;
単位 | 意味 | 説明 |
---|---|---|
em | フォントサイズ | |
rem | root em | ドキュメントのルート要素のフォントサイズ |
cm | centimeters | 1cm |
mm | millimeters | 1mm |
Q | 級 (quarter-millimeters) | 0.25mm |
in | inches | 1 inch |
pc | picas | 1/6 inch |
pt | points | 1/72 inch |
px | pixels | 1/96 inch |
vw | viewport width | ビューポートの幅の1/100 |
vmin | minimum viewport | ビューポートの幅または高さで小さい方の1/100 |
vmax | maximum viewport | ビューポートの幅または高さで大きい方の1/100 |
top: 1rem;
top: 50%;
auto
しない
次にtopスタイルシート属性を使用したHTMLの例を示します。
通常位置から<span style="position: relative; top: 0.5em">0.5文字分下げる。</span>
通常位置から0.5文字分下げる。
スタイルシート属性 right は、右端からの表示位置を指定します。通常、スタイルシート属性 position と組み合わせて使用します。
right : auto
right : length
right : percentage
CSS の right プロパティには、以下に示すいずれかの値を指定できる。
right: auto;
単位 | 意味 | 説明 |
---|---|---|
em | フォントサイズ | |
rem | root em | ドキュメントのルート要素のフォントサイズ |
cm | centimeters | 1cm |
mm | millimeters | 1mm |
Q | 級 (quarter-millimeters) | 0.25mm |
in | inches | 1 inch |
pc | picas | 1/6 inch |
pt | points | 1/72 inch |
px | pixels | 1/96 inch |
vw | viewport width | ビューポートの幅の1/100 |
vmin | minimum viewport | ビューポートの幅または高さで小さい方の1/100 |
vmax | maximum viewport | ビューポートの幅または高さで大きい方の1/100 |
right: 1rem;
right: 50%;
auto
しない
次にleftスタイルシート属性を使用したHTMLの例を示します。
通常位置から<span style="position:relative; right:2em">2文字分左にずらす。</span>
通常位置から2文字分左にずらす。
<div style="position:absolute; right:50px">左から50ピクセル離す</div>
スタイルシート属性 left は、左端からの表示位置を指定します。通常、スタイルシート属性 position と組み合わせて使用します。
left : auto
left : length
left : percentage
CSS の left プロパティには、以下に示すいずれかの値を指定できる。
left: auto;
単位 | 意味 | 説明 |
---|---|---|
em | フォントサイズ | |
rem | root em | ドキュメントのルート要素のフォントサイズ |
cm | centimeters | 1cm |
mm | millimeters | 1mm |
Q | 級 (quarter-millimeters) | 0.25mm |
in | inches | 1 inch |
pc | picas | 1/6 inch |
pt | points | 1/72 inch |
px | pixels | 1/96 inch |
vw | viewport width | ビューポートの幅の1/100 |
vmin | minimum viewport | ビューポートの幅または高さで小さい方の1/100 |
vmax | maximum viewport | ビューポートの幅または高さで大きい方の1/100 |
left: 1rem;
left: 50%;
auto
しない
次にleftスタイルシート属性を使用したHTMLの例を示します。
通常位置から<span style="position: relative; left: 5em">5文字分右にずらす。</span>
通常位置から5文字分右にずらす。
The World Wide Web Consortium (2022) CSS Positioned Layout Module Level 3