幅と高さ(width、height)プロパティの仕様と使い方

カテゴリ:CSS編

幅と高さ

要素の幅はwidthプロパティを用いて指定します。
要素の高さはheightプロパティを用いて指定します。

プロパティ名 説明
width 要素の幅
height 要素の高さ

最大、最小の幅と高さ

また最大の幅をmax-width、最小の幅をmin-width、最大の高さをmax-height、最小の高さをmin-heightのプロパティを用いて指定することができます。

プロパティ名 説明
max-width 最大の幅
min-width 最小の幅
max-height 最大の高さ
min-height 最小の高さ

max-width、min-widthの使い方

max-widthは最大の幅、min-width最小の幅を定義するものとなり、レスポンシブデザインで重要になるプロパティです。

例えば以下のように、メディアクエリと呼ばれる記述で、PC用の表示(@media screen and (min-width: 641px))の場合、ページの幅やメインコンテンツの幅はWebブラウザのウインドウの幅に合わせて動的に伸縮しますが、以下の例のようにページ全体の幅を最大1200px、最小1000pxとしたい場合に使用します。
また、同様にmain要素の幅を最大800px、最小600pxは保持することができます。

例)

        @media screen and (min-width: 641px) {
            body { max-width: 1200px; min-width: 1000px;}
            main { min-width: 600px; min-height: 500px; margin: 10px 0px 10px 10px; padding: 10px; float: left; }
            aside { width: 320px; min-height: 500px; margin: 10px; padding: 10px; float: right; }
        @media screen and (max-width: 640px) {
            main { width: auto; margin: 10px; padding: 10px; }
            aside { width: auto; height: 100px; margin: 10px; padding: 10px; }
        }

これにより、Webブラウザのウインドウの幅を狭めた際に要素の表示領域(幅)が異常に狭くなり、デザインが崩れてしまうのを防止することができます。

このような設計はデザイン上の理由だけではなく、ユーザーにとっても予期せずにコンテンツの表示が崩れる、あるいは見えなくなってしまうのは期待しない動作であり、最低限の表示領域を確保する事はユーザーフレンドリーな設計上でも欠かせません。

一方、スマートフォン用の表示(@media screen and (max-width: 640px))の場合は、表示領域は動的に変更されることはないため、通常はmin-widthは使用しません

max-height、min-heightの使い方

max-heightは要素に最大限の高さを持たせます。
コンテンツの内容に応じて表示領域の高さを動的に変化させる要素の場合、あまりにも縦の長さが大きいとページ全体を占拠し可読性を損なう場合があります。
例えばpre要素を使用を使用してソースコードを表示する場合、長いソースコードはそのまますべてを表示するのではなく一定以上の高さになれば高さを固定し、スクロールさせたい場合があります。そういった場合にpre要素の最大の高さを設定します。
以下の例ではpre要素の最大限の高さを300pxに設定しています。

例)

pre { width: 100%; max-height: 300px; min-height: 100px; padding: 10px; background-color: aquamarine; overflow: auto; white-space: pre-wrap; word-wrap: break-word; }

一方、min-heightは要素に最低限の高さを持たせます。
上記の例ではpre要素の高さが最低でも100pxは維持するように設定されます。

実際の表示例)

また、例えばメインコンテンツの内容が非常に小さい(文字数が少ない)場合に、要素の高さが異常に短くなり、ページ全体のデザインを損ねる可能性がある場合にはmain要素にmin-heightを指定したりします。
そのような表示はユーザーを混乱させる結果にもなりかねないからです。

レスポンシブデザインに限らず、動的に伸縮する要素を配置する場合、最大や最低のサイズを指定することが一般的です。

公開日時:2019年06月16日 15:53:59

なお、レンタルサーバー選びで迷ったらこちらの記事で主要レンタルサーバーのプランと料金を比較していますので、是非参考にしてみてください。

CSS編に戻る

「CSS編」に関する他の手順

このページのトップに戻る