1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
---
title: top
slug: Web/CSS/top
tags:
- CSS
- CSS Positioning
- CSS Property
- Reference
- 'recipe:css-property'
translation_of: Web/CSS/top
---
<div>{{CSSRef}}</div>
<p><strong><code>top</code></strong> は <a href="/ja/docs/Web/CSS" title="CSS">CSS</a> のプロパティで、<ruby><a href="/ja/docs/Web/CSS/position">位置指定要素</a><rp> (</rp><rt>positioned elements</rt><rp>) </rp></ruby>の垂直位置の決定に関与します。位置指定されていない要素には効果はありません。</p>
<div>{{EmbedInteractiveExample("pages/css/top.html")}}</div>
<p class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</p>
<p><code>top</code> の効果は、要素がどの様に配置されているか (つまり、 {{cssxref("position")}} プロパティの値) によって変わります。</p>
<ul>
<li><code>position</code> が <code>absolute</code> または <code>fixed</code> に設定されている場合、 <code>top</code> プロパティは要素の上辺と包含ブロックの上辺との間の距離を指定します。</li>
<li><code>position</code> が <code>relative</code> に設定されている場合、 <code>top</code> プロパティは要素の上辺が通常位置から下方へ移動する量を指定します。</li>
<li><code>position</code> が <code>sticky</code> に設定されている場合、 <code>top</code> プロパティは粘着制約矩形の計算に使用されます。</li>
<li><code>position</code> が <code>static</code> に設定されている場合、 <code>top</code> プロパティは<em>効果がありません</em>。</li>
</ul>
<p><code>top</code> と {{cssxref("bottom")}} の両方が指定されており、 <code>position</code> が <code>absolute</code> または <code>fixed</code> に設定されており、<em>かつ</em> {{cssxref("height")}} が未指定 (<code>auto</code> または <code>100%</code> のどちらか) の場合は、 <code>top</code> と <code>bottom</code> の距離が尊重されます。それ以外の場合、 {{cssxref("height")}} が何らかの形で制約されていた場合、または <code>position</code> が <code>relative</code> に設定されていた場合は、 <code>top</code> プロパティが優先されて <code>bottom</code> プロパティは無視されます。</p>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="brush:css no-line-numbers notranslate">/* <length> 値 */
top: 3px;
top: 2.4em;
/* 包含ブロックの高さに対する <percentage> */
top: 10%;
/* キーワード値 */
top: auto;
/* グローバル値 */
top: inherit;
top: initial;
top: unset;
</pre>
<h3 id="Values" name="Values">値</h3>
<dl>
<dt>{{cssxref("<length>")}}</dt>
<dd>負、null、または正の {{cssxref("<length>")}} で、以下のものを表します。
<ul>
<li><em>絶対位置指定要素</em>の場合は、包含ブロックの上辺までの距離。</li>
<li><em>相対位置指定要素</em>の場合は、通常の位置からの下方向への移動量。</li>
</ul>
</dd>
<dt>{{cssxref("<percentage>")}}</dt>
<dd>包含ブロックの高さに対する {{cssxref("<percentage>")}} です。</dd>
<dt><code>auto</code></dt>
<dd>以下のように指定します。
<ul>
<li><em>絶対位置指定要素</em>では、要素の位置は {{Cssxref("bottom")}} プロパティに基づいて決まり、 <code>height: auto</code> は内容物の高さに基づいて決まります。また、 <code>bottom</code> も <code>auto</code> であった場合は、要素は垂直方向には静的要素が配置される場合と同様に配置されます。</li>
<li><em>相対位置指定要素</em>では、通常の位置から要素までの距離は {{Cssxref("bottom")}} に基づきます。また、 <code>bottom</code> も <code>auto</code> であった場合は、垂直方向には移動しません。</li>
</ul>
</dd>
<dt><code>inherit</code></dt>
<dd>値が親要素 (包含ブロックとは限りません) の計算値と同じであることを示すキーワードです。そして、この計算値は {{cssxref("<length>")}}, {{cssxref("<percentage>")}}, または <code>auto</code> キーワードと同様に扱われます。</dd>
</dl>
<h2 id="Formal_definition" name="Formal_definition">公式定義</h2>
<p>{{CSSInfo}}</p>
<h2 id="Formal_syntax" name="Formal_syntax">形式文法</h2>
{{csssyntax}}
<h2 id="Examples" name="Examples">例</h2>
<pre class="brush: css notranslate">body {
background: beige;
}
div {
position: absolute;
top: 10%;
right: 40%;
bottom: 20%;
left: 15%;
background: gold;
border: 1px solid blue;
}</pre>
<pre class="brush: html notranslate"><div>この内容の寸法は、辺の位置によって決まります。</div></pre>
<p>{{EmbedLiveSample('Examples','100%','200')}}</p>
<h2 id="Specifications" name="Specifications">仕様書</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">仕様書</th>
<th scope="col">状態</th>
<th scope="col">備考</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('CSS3 Positioning', '#propdef-top', 'top')}}</td>
<td>{{Spec2('CSS3 Positioning')}}</td>
<td>sticky の位置の動作を追加</td>
</tr>
<tr>
<td>{{SpecName('CSS2.1', 'visuren.html#propdef-top', 'top')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<p>{{Compat("css.properties.top")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{cssxref("inset")}} は関連する {{cssxref("top")}}, {{cssxref("bottom")}}, {{cssxref("left")}}, {{cssxref("right")}} プロパティすべての一括指定です</li>
<li>対応する論理プロパティ: {{cssxref("inset-block-start")}}, {{cssxref("inset-block-end")}}, {{cssxref("inset-inline-start")}}, {{cssxref("inset-inline-end")}} および一括指定の {{cssxref("inset-block")}} と {{cssxref("inset-inline")}}</li>
<li>{{cssxref("position")}}</li>
</ul>
|