ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > max-widthとmin-widthの違いと使い分けを解説

max-widthとmin-widthの違いと使い分けを解説

HTML/CSS

2022/01/07

2023/04/14

max-width 使い方 サムネイル

美しいWebサイトを構築するにあたって、要素の幅はとても重要な値となります。

CSSでは要素の幅を設定するプロパティとして下記の3種類があります。

  • width
  • max-width
  • min-width

今回はこれらの使い分け・違いについて解説していきますので、一緒に学習していきましょう!

違いが分かれば適切なプロパティを設定して美しいサイトを構築できるようになるだけでなく、効率よくコーディングができるようになります。

ZeroPlus Gateについて

プログラミング学習でこのような経験はありませんか?

  1. 目標に向けて何を学べば良いかわからない
  2. 調べても解決策が見つからない
  3. 現場レベルのスキルが身につくのか不安

これらの悩みは、学習環境を整えることで全て解決することができます。

ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

  1. なんでも相談できる専属メンター
  2. いつでも技術相談ができるプロ講師
  3. 元IT企業CTO監修のカリキュラム

条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
ただし、無料サービスの提供には参加者の数に制限があります。

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

今すぐZeroPlus Gateの詳細を見る

width・max-width・min-widthの違いとは

おさらいとしてwidthは要素の幅を設定することができるプロパティです。

基本的な書式は以下になります。

セレクタ {
width: 値;
}

 

max-widthとmin-widthの基本的な書式は以下になります。

セレクタ {
max-width: 値;
}
セレクタ {
min- width: 値;
}

 

値のところには「数字+px」や「数字+%」などを指定することができます。

ではそれぞれのプロパティについて解説していきます!

 

基本的なwidthプロパティの使い方

widthを絶対値で指定

下記HTMLのcontentクラスに、width:300px;を指定します。

  <div class="container">
    <div class="content">
      要素の幅は300pxです!
    </div>
  </div>
.container {
  width: 100%;
  padding: 0 20px;
  background-color: lightcoral;
}
.content {
  font-size: 24px;
  width: 300px;
  background-color: blue;
  color: white;
}

出力結果

要素の幅は300pxです!

 

要素の幅はpx指定なのでブラウザ幅が変わっても300pxのまま維持されます。

 

widthを相対的な値で指定

widthの値を%指定にすると以下になります。

  <div class="container">
    <div class="content">
      要素の幅は50%です!
    </div>
  </div>
.container {
  width: 100%;
  padding: 0 20px;
  background-color: lightcoral;
}
.content {
  font-size: 24px;
  width: 50%;
  background-color: blue;
  color: white;
}

出力結果

 

子要素にはwidth:50%;を指定しているので、親要素の横幅に対して50%が維持されます。
もし、親要素がpx指定であればそれに対しての相対幅になります。

つまり親要素が1,000pxの時、子要素に50%を指定すると、1,000pxに対しての50%なので子要素の幅は500pxということになります。
子要素を100%にした場合は、親要素の値と同じ1,000pxで出力されます。

max-widthプロパティは最大幅を指定

max-widthは最大幅を指定することができます。

例えば以下のようなHTMLがあるとします。親要素にwidth:100%;を、子要素にmax-widthを指定します。

  <div class="container">
    <div class="content">
      親要素が100%、子要素のmax-widthは800pxです!
    </div>
  </div>
.container {
  width: 100%;
  background-color: lightcoral;
}
.content {
  font-size: 24px;
  width: 100%;
  max-width: 800px;
  background-color: blue;
  color: white;
}

出力結果

max-widthが800pxなので子要素の幅は800px以上広がりません。

 

min-widthプロパティは最小幅を指定

max-widthが最大幅なら、min-widthは最小幅の設定となります。下記のような場合は400px以下にはなりません。

  <div class="container">
    <div class="content">
      親要素が100%、子要素のmin-widthは400pxです!
    </div>
  </div>
.container {
  width: 100%;
  background-color: lightcoral;
  padding: 20px;
}
.content {
  font-size: 24px;
  min-width: 400px;
  width: 50%;
  background-color: blue;
  color: white;
}

表示結果

ここまでの内容をまとめると下記表にまとめます。

プロパティ解説
width横幅を指定する標準的なプロパティ。
max-width最大幅を指定。
min-width最小幅を指定。

    用途に応じて適切なプロパティを使用していきましょう。

    ZeroPlusgate50教材の動画

    max-widthの使いどころ

    コンテンツ幅

    コンテンツ幅をある幅以上広げたくない場合にmax-widthを使用するとよいでしょう。

    下記のようにmax-widthを使用しない場合を見てみましょう。

      <div class="container">
        <div class="content">
          コンテンツ
        </div>
      </div>
    .container {
      width: 100%;
      background-color: lightcoral;
      padding: 20px;
    }
    
    
    .content {
      font-size: 24px;
      width: 100%;
      background-color: blue;
      color: white;
      margin: auto;
    }

    出力結果

     

    max-widthを指定しないとどこまでも要素が横に広がっていくので、ある程度の幅でとどめておきたい場合はmax-widthを指定します。

    CSSにmax-widthの記述を追加します。

    .content {
      font-size: 24px;
      width: 100%;
      max-width: 800px;
      background-color: blue;
      color: white;
      margin: auto;
    }

    表示結果

     

    画像

    画像にもmax-widthを指定して大きさを制御することができます。もしmax-widthを指定しなければ、画像は横幅に応じて大きくなります。

      <div class="container">
        <div class="content">
          <img class="content__img" src="images/sample.png" alt="サンプル画像">
        </div>
      </div>
    .container {
      width: 100%;
      background-color: lightcoral;
      padding: 20px;
    }
    
    .content {
      width: 100%;
      margin: auto;
    }
    
    .content__img {
      width: 100%;
      height: 100%;
      display: block;
    }

    出力結果

     

     

    横幅を広げていくにしたがって、画像も大きくなっていきます。ここにmax-widthを指定して画像の大きさを制御します。

    .container {
      width: 100%;
      background-color: lightcoral;
      padding: 20px;
    }
    
    .content {
      width: 100%;
      margin: auto;
      max-width: 500px;
      height: auto;
    }
    
    .content__img {
      width: 100%;
      height: 100%;
      display: block;
    }

    出力結果

     

    max-widthを指定したおかげで、画像の大きさを制御することができました。

    ZeroPlusgate50教材の動画

    min-widthの使いどころ

    コンテンツ幅

    「pc表示時はwidth:50%;の横幅にしたい。だけど、表示の時は50%だと小さすぎる」

    などという時にmin-widthを設定します。

    一般的にはiPhoneSEを最小サイズとして扱うことが多いので、min-widthは375px以内で設定しましょう。

    まとめ

    max-widthやmin-widthは美しいレスポンシブサイトを作る上でとても重要になってきます。
    また、widthとの使い分けができるようになると、コーディングスピードにも大きく影響します。

    3つのプロパティを用途に合わせて使い分けられるようになると、コーダーとしてのレベルも1段階あがるので積極的に使ってみましょう!

    ZeroPlus Gateについて

    プログラミング学習でこのような経験はありませんか?

    1. 目標に向けて何を学べば良いかわからない
    2. 調べても解決策が見つからない
    3. 現場レベルのスキルが身につくのか不安

    これらの悩みは、学習環境を整えることで全て解決することができます。

    ZeroPlus Gateでは、30日間無料で最適な学習環境を提供しています。

    1. なんでも相談できる専属メンター
    2. いつでも技術相談ができるプロ講師
    3. 元IT企業CTO監修のカリキュラム

    条件なしでこのレベルの環境を無料で提供しているのはZeroPlus Gateだけです。
    ただし、無料サービスの提供には参加者の数に制限があります。

    少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

    今すぐZeroPlus Gateの詳細を見る

    \ 学んだことをSNSでシェアしよう /

    おすすめのタグ

    この記事の執筆者

    ZeroPlus Media変種部

    ZeroPlus Media編集部

    ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

    質問について

    ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

    選べる2つの質問方法

    1

    Google Foam(テキスト)で質問

    mail

    フォーム送信

    メールで解答

    formで質問
    2

    Google meet(オンラインmtg)で質問

    meet

    日時選択

    メールを受け取る

    メールからmtgに参加

    meetで質問
    ZeroPlus Gateについて

    あなたの目的に合わせた2つのサービス

    あなたの目的に合わせたZeroPlusの2つのサービス
    基礎からフリーランスレベルまで本質的な学びを提供しています

    完全無料!30日間で学びきれる
    プログラミンスクールZeroPlus Gate

    • お金をかけずに、学習を進めたい
    • Webサイトを作れるようになりたい
    • メンターや講師に質問しながら学習したい

    詳しくはこちらから

    フリーランス特化型
    プログラミングスクール ZeroPlus

    • プログラミング学習で悩んでいる
    • 仲間と一緒に学習したい
    • フリーランスとしての総合的な力を養いたい

    詳しくはこちらから