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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
|
---
title: width
slug: Web/CSS/width
tags:
- CSS
- CSS Property
- CSS プロパティ
- Reference
- dimensions
- 'recipe:css-property'
- size
- width
- 寸法
translation_of: Web/CSS/width
---
<p>{{CSSRef}}</p>
<p><strong><code>width</code></strong> は CSS のプロパティで、要素の幅を設定します。既定では、このプロパティは<a href="/ja/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model#content-area">コンテンツ領域</a>の幅を設定しますが、 {{cssxref("box-sizing")}} を <code>border-box</code> に設定すると、<a href="/ja/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model#border-area">境界領域</a>の幅を設定します。</p>
<div>{{EmbedInteractiveExample("pages/css/width.html")}}</div>
<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>
<p>{{cssxref("min-width")}} および {{cssxref("max-width")}} プロパティは、 {{cssxref("width")}} を上書きします。</p>
<h2 id="Syntax" name="Syntax">構文</h2>
<pre class="brush:css no-line-numbers notranslate">/* <length> 値 */
width: 300px;
width: 25em;
/* <percentage> 値 */
width: 75%;
/* キーワード値 */
width: max-content;
width: min-content;
width: fit-content(20em);
width: auto;
/* グローバル値 */
width: inherit;
width: initial;
width: unset;
</pre>
<p><code>width</code> プロパティは以下のいずれかの値で指定します。</p>
<ul>
<li>キーワード値 <code><a href="#min-content">min-content</a></code>, <code><a href="#max-content">max-content</a></code>, <code><a href="#fit-content">fit-content</a></code>, <code><a href="#auto">auto</a></code> のうちの一つ。</li>
<li><code><a href="#<length>"><length></a></code> または <code><a href="#<percentage>"><percentage></a></code>。</li>
</ul>
<h3 id="Values" name="Values">値</h3>
<dl>
<dt>{{cssxref("<length>")}}</dt>
<dd>絶対的な値で幅を定義します。</dd>
<dt>{{cssxref("<percentage>")}}</dt>
<dd>親となる包含ブロックの幅に対するパーセント値で定義します。</dd>
<dt><code>auto</code></dt>
<dd>指定された要素の幅をブラウザーが計算して決めます。</dd>
<dt><code>max-content</code></dt>
<dd>望ましい固有の幅です。</dd>
<dt><code>min-content</code></dt>
<dd>最小の固有の幅です。</dd>
<dt><code>fit-content({{cssxref("<length-percentage>")}})</code></dt>
<dd>利用可能な空間に対して fit-content 式を使用し、指定された引数に置き換えられます。すなわち <code>min(max-content, max(min-content, <length-percentage>))</code> です。</dd>
</dl>
<h2 id="Accessibility_concerns" name="Accessibility_concerns">アクセシビリティの考慮</h2>
<p>ページを拡大してテキストサイズを大きくしたときに、 <code>width</code> を設定した要素が切り捨てられたり、他のコンテンツが見えなくなったりしないようにしてください。</p>
<ul>
<li><a href="/ja/docs/Web/Accessibility/Understanding_WCAG/Perceivable#Guideline_1.4_Make_it_easier_for_users_to_see_and_hear_content_including_separating_foreground_from_background">MDN WCAG の理解、 ガイドライン 1.4 の説明</a></li>
<li><a href="https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-scale.html" rel="noopener">Understanding Success Criterion 1.4.4 | Understanding WCAG 2.0</a></li>
</ul>
<h2 id="Formal_definition" name="Formal_definition">公式定義</h2>
<p>{{CSSInfo}}</p>
<h2 id="Formal_syntax" name="Formal_syntax">形式文法</h2>
<pre class="syntaxbox notranslate">{{csssyntax}}</pre>
<h2 id="Examples" name="Examples">例</h2>
<h3 id="Default_width" name="Default_width">既定の幅</h3>
<pre class="brush:css notranslate">p.goldie {
background: gold;
}</pre>
<pre class="brush:html notranslate"><p class="goldie">The Mozilla community produces a lot of great software.</p></pre>
<p>{{EmbedLiveSample('Default_width', '500px', '64px')}}</p>
<h3 id="Pixels_and_ems" name="Pixels_and_ems">ピクセル数と em 単位</h3>
<pre class="brush: css notranslate">.px_length {
width: 200px;
background-color: red;
color: white;
border: 1px solid black;
}
.em_length {
width: 20em;
background-color: white;
color: red;
border: 1px solid black;
}
</pre>
<pre class="brush: html notranslate"><div class="px_length">Width measured in px</div>
<div class="em_length">Width measured in em</div></pre>
<p>{{EmbedLiveSample('Pixels_and_ems', '500px', '64px')}}</p>
<h3 id="Percentage" name="Percentage">パーセント値</h3>
<pre class="brush: css notranslate">.percent {
width: 20%;
background-color: silver;
border: 1px solid red;
}</pre>
<pre class="brush: html notranslate"><div class="percent">Width in percentage</div></pre>
<p>{{EmbedLiveSample('Percentage', '500px', '64px')}}</p>
<h3 id="max-content">max-content</h3>
<pre class="brush:css; notranslate">p.maxgreen {
background: lightgreen;
width: intrinsic; /* Safari/WebKit uses a non-standard name */
width: -moz-max-content; /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */
width: max-content;
}</pre>
<pre class="brush:html notranslate"><p class="maxgreen">The Mozilla community produces a lot of great software.</p></pre>
<p>{{EmbedLiveSample('max-content', '500px', '64px')}}</p>
<h3 id="min-content">min-content</h3>
<pre class="brush:css notranslate">p.minblue {
background: lightblue;
width: -moz-min-content; /* Firefox */
width: -webkit-min-content; /* Chrome */
width: min-content;
}</pre>
<pre class="brush:html notranslate"><p class="minblue">The Mozilla community produces a lot of great software.</p></pre>
<p>{{EmbedLiveSample('min-content', '500px', '155px')}}</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('CSS4 Sizing', '#width-height-keywords', 'width')}}</td>
<td>{{Spec2('CSS4 Sizing')}}</td>
<td></td>
</tr>
<tr>
<td>{{SpecName('CSS3 Sizing', '#width-height-keywords', 'width')}}</td>
<td>{{Spec2('CSS3 Sizing')}}</td>
<td>キーワード <code>max-content</code>, <code>min-content</code>, <code><code>fit-content</code> を追加</code></td>
</tr>
<tr>
<td>{{SpecName('CSS2.1', 'visudet.html#the-width-property', 'width')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td>適用対象の要素を詳しく記載</td>
</tr>
<tr>
<td>{{SpecName('CSS1', '#width', 'width')}}</td>
<td>{{Spec2('CSS1')}}</td>
<td>初回定義</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>
<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div>
<p>{{Compat("css.properties.width")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li><a href="/ja/docs/Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model">ボックスモデル</a></li>
<li>{{cssxref("height")}}</li>
<li>{{cssxref("box-sizing")}}</li>
<li>{{cssxref("min-width")}}, {{cssxref("max-width")}}</li>
<li>対応する論理的プロパティ: {{cssxref("block-size")}}, {{cssxref("inline-size")}}</li>
</ul>
|