CSSのmax-width・min-widthを徹底解説!初心者でもわかるコンテンツ幅の制限方法
生徒
「先生、ホームページの文字や画像が大きすぎたり小さすぎたりしてレイアウトが崩れることがあるんですけど、CSSで幅を制限する方法ってありますか?」
先生
「はい、その場合はmax-widthとmin-widthというプロパティを使うと便利です。」
生徒
「その2つってどう違うんですか?」
先生
「max-widthは『これ以上大きくならない』制限で、min-widthは『これ以上小さくならない』制限です。それでは実際に使い方を見ていきましょう。」
1. max-widthとmin-widthとは?:Webサイトの「伸び縮み」をコントロールする基本
CSSのmax-width(マックス・ウィズ)とmin-width(ミン・ウィズ)は、要素の横幅に「制限」をかけるためのプロパティです。通常のwidthで幅を固定してしまうと、画面の大きなパソコンでは小さすぎたり、スマホでは画面からはみ出したりしてしまいます。
そこで、「最大でもこれ以上は大きくならない(max-width)」「最小でもこれだけは幅を確保する(min-width)」というルールを決めておくことで、どんなデバイスで見てもレイアウトが崩れない、レスポンシブデザインを実現できるようになります。プログラミング未経験の方でも、まずは「要素が動ける範囲(ガードレール)を決めるもの」とイメージすればOKです。
- max-width: 「大きすぎ」を防ぐ。画像が画面を突き抜けるのを防ぐときなどに使います。
- min-width: 「小さすぎ」を防ぐ。文字が重なったり、ボタンが細長くなりすぎるのを防ぎます。
初心者向けサンプル:幅の変化を体験してみよう
以下のサンプルでは、ボックスに対して「最小300px、最大800px」という制限をかけています。ブラウザの幅を左右に動かしてみると、ある一定のサイズで止まるのがわかります。
<style>
.resizable-box {
/* 最小の幅を300pxに固定 */
min-width: 300px;
/* 最大の幅を800pxに制限 */
max-width: 800px;
/* 幅を100%にすることで、制限の範囲内で伸び縮みさせる */
width: 100%;
background-color: #e3f2fd;
border: 2px solid #2196f3;
padding: 20px;
margin: 10px auto;
text-align: center;
}
</style>
<div class="resizable-box">
<p>このボックスは<strong>300pxから800px</strong>の間でサイズが変わります。</p>
<img src="/img/sample150-100.jpg" alt="サンプル画像">
<p>画面を広げても800px以上にはならず、縮めても300px以下にはなりません。</p>
</div>
ブラウザ表示
このように、max-widthとmin-widthを使いこなすことで、ユーザーがどんな環境でサイトを見ても、読みやすさを損なわない「親切な設計」が可能になります。
2. max-widthの基本的な使い方
まずはmax-widthの例を見てみましょう。下記のコードでは、画像がどれだけ大きくても最大500pxまでに制限されます。
<style>
img {
max-width: 500px;
}
</style>
<img src="https://via.placeholder.com/1000x400" alt="サンプル画像">
ブラウザ表示
3. min-widthの基本的な使い方
次にmin-widthの例です。小さな画面でも最低200pxは幅を確保します。
<style>
div {
background-color: lightblue;
min-width: 200px;
}
</style>
<div>このボックスは幅が小さくなりすぎないように制限されています。</div>
ブラウザ表示
4. max-widthとmin-widthを組み合わせる
実際には、max-widthとmin-widthを同時に指定することで、要素のサイズを「ちょうどよい範囲」に収めることができます。例えば、記事本文の幅を読みやすい範囲に制限するケースです。
<style>
p {
min-width: 200px;
max-width: 600px;
background-color: #f0f0f0;
padding: 10px;
}
</style>
<p>
この文章は最小200px、最大600pxの幅に制限されています。
ブラウザの幅を変えてみると、文字の表示が読みやすく保たれるのがわかります。
</p>
ブラウザ表示
5. 日常生活に例えて理解しよう
max-widthとmin-widthをイメージしやすくするために、洋服のサイズで例えてみましょう。
洋服には「SサイズからLサイズまで」という範囲がありますよね。これがまさにmin-widthとmax-widthです。
小さすぎる(Sより下)と着れないし、大きすぎる(Lより上)とブカブカになります。
ページのレイアウトも同じで、見やすさを保つために幅の最小値と最大値を決めておくのです。
6. 実務でよく使われる活用例
初心者がWebサイト制作を学ぶ際に、実務でもよく使う具体的な場面を紹介します。
- 記事本文の幅をmax-widthで制限して、横に広がりすぎないようにする
- ボタンのサイズをmin-widthで確保して、スマホでも押しやすくする
- 画像をmax-widthで指定して、レスポンシブデザインでもはみ出さないようにする
このように、max-widthとmin-widthは初心者からプロまで広く使われる基本テクニックです。理解しておくと、きれいで見やすいWebページを作る第一歩になります。
【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー
「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。
本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」と「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。
具体的なワークショップ内容と環境
【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。
【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。
この60分で得られる3つの技術資産
要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。
後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。
画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。
※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。
リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!
各回少人数・マンツーマン形式で徹底サポート
このセミナーの詳細・お申し込みはこちら