aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/css/max-block-size/index.html
blob: 64b8cc9d83382d54ff30deb99b98a42a11840531 (plain)
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
---
title: max-block-size
slug: Web/CSS/max-block-size
tags:
  - CSS
  - CSS Logical Property
  - CSS Property
  - Experimental
  - Layout
  - Maximum Height
  - Maximum Width
  - Reference
  - height
  - max-block-size
  - 'recipe:css-property'
  - size
  - width
translation_of: Web/CSS/max-block-size
---
<div>{{CSSRef}}</div>

<p><span class="seoSummary"><strong><code>max-block-size</code></strong><a href="/ja/docs/Web/CSS">CSS</a> のプロパティで、 {{cssxref("writing-mode")}} で指定された書字方向とは逆の向きの要素の最大寸法を指定します。</span>すなわち、書字方向が水平 (横書き) であれば、 <code>max-block-size</code>{{cssxref("max-height")}} と等価になります。書字方向が垂直 (縦書き) であれば、 <code>max-block-size</code>{{cssxref("max-width")}} と同じになります。</p>

<p>もう一方の方向の最大長は、 {{cssxref("max-inline-size")}} プロパティを使用して指定します。</p>

<p><code>max-width</code> は常に水平方向の寸法に使われ、 <code>max-height</code> は常に垂直方向の寸法に使われるため、このプロパティはテキストコンテンツの寸法に基づいて寸法を設定する必要がある場合、書字方向を意識して指定する必要がある場合に便利です。</p>

<p>ふつう <code>max-height</code> または <code>max-width</code> を使用する場面でいつでも、代わりに <code>max-block-size</code> をコンテンツの最大の「高さ」を設定するために使用し (これは垂直の値ではない可能性がありますが)、 <code>max-inline-size</code>をコンテンツの最大の「幅」を設定するために使用してください (これが横書きではなく縦書きである場合であっても)。様々な書字方向を表す{{SectionOnPage("/ja/docs/Web/CSS/writing-mode", "例")}}をご覧ください。</p>

<div>{{EmbedInteractiveExample("pages/css/max-block-size.html")}}</div>

<div class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</div>

<h2 id="Syntax" name="Syntax">構文</h2>

<pre class="brush:css no-line-numbers notranslate">/* &lt;length&gt; 値 */
max-block-size: 300px;
max-block-size: 25em;

/* &lt;percentage&gt; 値 */
max-block-size: 75%;

/* キーワード値 */
max-block-size: auto;
max-block-size: max-content;
max-block-size: min-content;
max-block-size: fit-content(20em);

/* グローバル値 */
max-block-size: inherit;
max-block-size: initial;
max-block-size: unset;
</pre>

<h3 id="Values" name="Values"></h3>

<p><code>max-block-size</code> プロパティの値は、 {{cssxref("max-width")}} および {{cssxref("max-height")}} プロパティで有効なすべての値を取ることができます。</p>

<p>{{page("/ja/docs/Web/CSS/max-width", "Values")}}</p>

<h3 id="How_writing-mode_affects_directionality" name="How_writing-mode_affects_directionality">書字方向が方向にどう影響するのか</h3>

<p><code>writing-mode</code> の値は次のように <code>max-block-size</code> から <code>max-width</code> または <code>max-height</code> への対応付けに影響します。</p>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col"><code>writing-mode</code> の値</th>
   <th scope="col"><code>max-block-size</code> が等価になるもの</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>horizontal-tb</code>, <code>lr</code> {{deprecated_inline}}, <code>lr-tb</code> {{deprecated_inline}}, <code>rl</code> {{deprecated_inline}}, <code>rb</code> {{deprecated_inline}}, <code>rb-rl</code> {{deprecated_inline}}</td>
   <td>{{cssxref("max-height")}}</td>
  </tr>
  <tr>
   <td><code>vertical-rl</code>, <code>vertical-lr</code>, <code>sideways-rl</code> {{experimental_inline}}, <code>sideways-lr</code> {{experimental_inline}}, <code>tb</code> {{deprecated_inline}}, <code>tb-rl</code> {{deprecated_inline}}</td>
   <td>{{cssxref("max-width")}}</td>
  </tr>
 </tbody>
</table>

<div class="note">
<p><code>writing-mode</code> の値のうち <code>sideways-lr</code> および <code>sideways-rl</code> は設計プロセスの後期に CSS Writing Modes Level 3 仕様書から削除されました。これらは Level 4 で復活する可能性があります。</p>
</div>

<div class="note">
<p>書字方向の <code>lr</code>, <code>lr-tb</code>, <code>rl</code>, <code>rb</code>, <code>rb-tl</code>{{Glossary("HTML")}} のコンテキストでは許可されなくなりました。 {{Glossary("SVG")}} 1.x コンテキストでのみ利用できる可能性があります。</p>
</div>

<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>

<h3 id="Setting_max-block-size_with_horizontal_and_vertical_text">Setting max-block-size with horizontal and vertical text</h3>

<p>この例では、同じテキスト ({{interwiki("wikipedia", "en:Herman Melville", "Herman Melville")}} の小説 <em>{{interwiki("wikipedia", "en:Moby-Dick", "Moby-Dick")}}</em> の冒頭部分) が <code>horizontal-tb</code> および <code>vertical-rl</code> の両方の書字方向で表示されます。</p>

<p>二つのボックスついてそれ以外の部分はすべて、 {{cssxref("max-block-size")}} に使われている値を含めて同じです。</p>

<h4 id="HTML">HTML</h4>

<p>この HTML では、単純に二つの {{HTMLElement("div")}} ブロックを作成し、それぞれの {{cssxref("writing-mode")}}<code>horizontal</code> および <code>vertical</code> クラスを用いて設定しています。両方のボックスで <code>standard-box</code> クラスを共有しており、こちらで単純に色、パディング、それぞれの <code>max-block-size</code> の値を設定しています。</p>

<pre class="brush: html notranslate">&lt;p&gt;Writing mode &lt;code&gt;horizontal-tb&lt;/code&gt; (the default):&lt;/p&gt;
&lt;div class="standard-box horizontal"&gt;
  Call me Ishmael. Some years ago—never mind how
  long precisely—having little or no money in my
  purse, and nothing particular to interest me on
  shore, I thought I would sail about a little and see
  the watery part of the world. It is a way I have of
  driving off the spleen and regulating the
  circulation.
&lt;/div&gt;

&lt;p&gt;Writing mode &lt;code&gt;vertical-rl&lt;/code&gt;:&lt;/p&gt;
&lt;div class="standard-box vertical"&gt;
  Call me Ishmael. Some years ago—never mind how
  long precisely—having little or no money in my
  purse, and nothing particular to interest me on
  shore, I thought I would sail about a little and see
  the watery part of the world. It is a way I have of
  driving off the spleen and regulating the
  circulation.
&lt;/div&gt;</pre>

<h4 id="CSS">CSS</h4>

<p>この CSS では3つのクラスを定義しています。最初は <code>standard-box</code> で、両方のボックスに適用され、上にあるものです。これはブロックの最小および最大の寸法、フォントの大きさ、などを指定します。</p>

<p>その後にくるクラス <code>horizontal</code> および <code>vertical</code> は、ボックスに {{cssxref("writing-mode")}} プロパティを追加し、値を使われるクラスに応じて <code>horizontal-tb</code> または <code>vertical-rl</code> に設定します。</p>

<pre class="brush: css notranslate">.standard-box {
  padding: 4px;
  background-color: #abcdef;
  color: #000;
  font: 16px "Open Sans", "Helvetica", "Arial", sans-serif;
  max-block-size: 160px;
  min-block-size: 100px;
}

.horizontal {
  writing-mode: horizontal-tb;
}

.vertical {
  writing-mode: vertical-rl;
}
</pre>

<h4 id="Result" name="Result">結果</h4>

<p>{{EmbedLiveSample("Setting_max-block-size_with_horizontal_and_vertical_text", 600, 850)}}</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("CSS Logical Properties", "#propdef-max-block-size", "max-block-size")}}</td>
   <td>{{Spec2("CSS Logical Properties")}}</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.max-block-size")}}</p>

<h2 id="See_also" name="See_also">関連情報</h2>

<ul>
 <li>対応する物理的プロパティ: {{cssxref("max-width")}}{{cssxref("max-height")}}</li>
 <li>他の方向の最大寸法の設定: {{cssxref("max-inline-size")}}</li>
 <li>{{cssxref("writing-mode")}}</li>
</ul>