Pick the smallest value from your size options so layouts don’t grow too big, giving you an easy upper limit for widths, text, and spacing.
いくつか候補のサイズを並べて“いちばん小さい値”だけを採用する関数。画面が広くても『ここまで』で止めたい時に使う安全ブレーキ。
min()
は、小さいほうを選ぶ関数です。
たとえば「画面に合わせて広がるけど、1200pxより大きくしない」みたいな上限ストッパーを一行で書けます。
画面幅に応じて伸び縮みさせたいけど、大きくなりすぎる崩れを防ぎたい時に役立ちます。
CSS
/* 画面の90%まで広がるけど、1200pxを上限にする */
.container {
width: min(90vw, 1200px);
}
CSS
.main {
width: min(92vw, 1200px);
margin-inline: auto;
}
CSS
.title {
font-size: min(5vw, 2rem);
}
画面が小さい時は 5vw で文字も少し小さく、でも大画面で巨大文字になりすぎないよう 2rem を上限に。
CSS
.card {
padding: min(4vw, 24px);
margin-block: min(6vw, 48px);
}
画面が広いほど余白も増やしたいけど、最大値は決めておく。
min(A, B, C, …)
は、引数の中から最小の計算結果を返します。
単位は混在してOK(vw
と px
と rem
を同時に比較できる)で、CSSが同じ“長さ”として比較できるものなら一緒に並べられます。
値は式として評価され、calc()
や var()
、clamp()
などとも組み合わせ可能です。
CSS
.wrapper {
width: min(100% - 2rem, 1200px, calc(95vw - 32px));
}
min(a, b)
max(a, b)
clamp(min, ideal, max)
例:タイトル文字を「理想 5vw、でも 1.25rem~2remの間に」
CSS
h1 {
font-size: clamp(1.25rem, 5vw, 2rem);
}
min()
は候補の中の最小を選ぶだけ。画面が狭ければ vw
が小さくなり、それが最小になりやすい。広いときは px
の固定値が最小になることも。calc()
との違いcalc()
は四則演算、min()
は比較して一つを選ぶ。必要に応じて組み合わせるのが定石。CSS
/* ページ幅:画面に合わせて伸ばすが 1200px で止める */
.page {
width: min(92vw, 1200px);
margin-inline: auto;
}
/* 見出し:小さな画面では流動、大きな画面では 2rem を上限に */
.page h1 {
font-size: min(6vw, 2rem);
}
/* 余白:広い画面でもダラっと空きすぎない */
.section {
padding-block: min(8vw, 64px);
padding-inline: min(6vw, 48px);
}