はじめに
Web制作でよく使うCSSプロパティ「max-width」と「min-width」
レスポンシブデザインやレイアウト調整には欠かせないプロパティですが、「何となく使っている」「違いがよくわからない」という方も多いのではないでしょうか?
今回は、max-width・min-widthの使いどころやサンプルを交えつつ、実践的なポイントを解説します。
max-widthの使いどころ
-
可変幅レイアウトの上限を設定したいとき
例えば、画像やコンテンツが画面いっぱいに広がりすぎないよう制限したい場合に便利です。 -
PC・スマホどちらにも対応したいとき
width: 100%と組み合わせて「親要素の幅には合わせつつ、広がりすぎない」設定が可能。 -
中央揃えとセットで使うことが多い
max-widthで制限し、margin: 0 auto;で中央に寄せるレイアウトは定番です。
min-widthの使いどころ
-
要素の最小サイズを保証したいとき
画面が狭くなっても、ボタンやラベルが潰れないようにしたい場合などに有効です。 -
FlexboxやGridレイアウトで役立つ
アイテムが小さくなりすぎないよう、min-widthで最低限のサイズを確保します。 -
テキストの折り返しや省略を制御したいとき
例:ボタン内のテキストが途切れないようにするなど。
max-widthの使用例
例1
.container {
width: 100%;
max-width: 800px;
margin: 0 auto;
}
親要素に対して幅いっぱいに広がるけど、800pxを超えない。中央揃えのレイアウトが簡単に実現できます。
例2
img {
width: 100%;
max-width: 400px;
height: auto;
}
画像が親要素より大きく表示されないように制限できます。
min-widthの使用例
例1
.button {
min-width: 120px;
padding: 8px 16px;
}
テキストが短い場合でも、ボタンの幅が120pxより小さくならないので、デザインが崩れません。
例2
.flex-item {
flex: 1 1 0;
min-width: 200px;
}
狭い画面でも、アイテムが最低200pxは確保されます。
Tips
- width, min-width, max-widthは同時指定可能
.box {
width: 50%;
min-width: 300px;
max-width: 600px;
}
この場合、画面サイズに応じて300px〜600pxの間で伸縮します。
-
「max-width: 100%」は画像やiframeのはみ出し防止に最強
レスポンシブ対応で特によく使います。 -
min-widthは文字化けや表示崩れの防止に
余白がなくても最低限の見た目が保証されます。
最後に
max-width、min-widthはシンプルですが、使い方次第でレイアウトの柔軟性が大きく変わります。
「なぜこのプロパティを指定するのか?」を意識すると、よりスマートなCSS設計ができます。