--- title: max() slug: Web/CSS/max() tags: - CSS - CSS Function - CSS 関数 - Calculate - Compute - Function - Layout - Reference - Web - max - 関数 translation_of: Web/CSS/max() ---
max()
は CSS 関数で、 CSS プロパティの値としてカンマで区切られた式のリストから最大の (最も正である) 値を設定できます。 max()
関数は {{CSSxRef("<length>")}}、{{CSSxRef("<frequency>")}},、{{CSSxRef("<angle>")}}、{{CSSxRef("<time>")}}、{{CSSxRef("<percentage>")}}、{{CSSxRef("<number>")}}、{{CSSxRef("<integer>")}} が利用できるところならばどこでも使用することができます。
/* プロパティ: max(式 [, 式]) */ width: max(10vw, 4em, 80px);
上の例では、幅は最小 80px ですが、ビューポートの幅が 800px より広いか em の幅が 20px より大きい場合は広くなります。言い換えれば、最小幅は 80px です。 max()
の値はプロパティが取りうる最小の値を提供するものとして考えてください。
max()
関数は、引数としてカンマで区切った1つ以上の式を取り、もっとも大きい (最も正である) 式の値をプロパティに割り当てられた値として使用します。
式は ({{CSSxRef("<length>")}} などの) 有効な引数の型として評価される、 (算術演算子を使用した) 数式、リテラル値、 {{CSSxRef("attr", "attr()")}} などのその他の式や、入れ子になった {{CSSxRef("min", "min()")}} および max()
関数にすることができます。
式の各値に異なる単位を使用することができます。必要に応じて、計算順序を決めるために括弧を使用することもできます。
auto
が指定されていたかのように扱われる可能性があります。min()
や他の max()
関数を式の値として入れ子にすることが認められています。式は完全な数式なので、 calc()
関数自体を使わずに直接加算、減算、乗算、除算を使うことができます。<length>
構文値を使用できます。min()
と max()
の値を組み合わせたり、 max()
を clamp()
や calc()
関数の中で使用したりすることができます (そしてよく必要になります)。max()
を使用すると、画像の最小幅を簡単に設定することができます。この例では、メディアクエリを使用せずに、 CSS は大きい端末ではウィンドウの半分まで伸びるロゴを生成しますが、広い端末では 300px を超えないようにしています。
.logo { width: max(50vw, 300px); }
<img src="https://developer.mozilla.org/static/img/web-docs-sprite.svg" alt="MDN Web Docs" class="logo">
{{EmbedLiveSample("Making_images_at_least_a_minimum_size", "100%", "60")}}
この例では、ロゴの幅は 300px 以上になりますが、ビューポートが 600px よりも広くなったら、ここからビューポートの幅の 50% を保ちながら、ビューポートが拡大するに従って拡大します。
CSS 関数のもう一つの使用例は、少なくとも最小サイズを確保しながらフォントサイズを拡大していくことで、読みやすさを確保しながらレスポンシブなフォントサイズを可能にします。
いくらか CSS を見てください。
h1 { font-size: 2rem; } h1.responsive { font-size: max(4vw, 2em, 2rem); }
フォントサイズは最小で 2rems、ページの既定のフォントサイズの2倍になります。これは、それが読みやすく、アクセシビリティを確保することを保証します。
<h1>This text is always legible, but doesn't change size</h1> <h1 class="responsive">This text is always legible, and is responsive, to a point</h1>
{{EmbedLiveSample("Setting_a_minimum_size_for_a_font", "100%", "300")}}
max()
関数はプロパティに許される最小値を探るものと考えてください。
max()
を使用してテキストのサイズを制御する場合は、テキストが常に十分に読める大きさであることを確認してください。提案としては、入れ子になった {{CSSxRef("min", "min()")}} 関数を max()
の中に使用し、その二番目の値として常に十分な大きさの相対的な長さの単位を持つようにします。
small { font-size: max(min(0.5vw, 0.5em), 1rem); }
これにより、ページが拡大縮小されたときにテキストの大きさが拡大縮小され、最小サイズは 1rem になります。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName("CSS4 Values", "#calc-notation", "max()")}} | {{Spec2("CSS4 Values")}} | 初回定義 |
{{Compat("css.types.max")}}