値と単位
色の書き方と px・%・em・rem・vw などの単位
色やサイズの値には、いくつかの書き方があります。色は色名・16進数・rgb()・rgba() など、サイズは px のような絶対値と、% や rem のような相対値を使い分けます。
サンプルコード
実行結果
解説
色の値は、red のような色名、#ffffff のような16進数、rgb(255, 255, 255) のように赤・緑・青を0〜255で表す書き方があります。rgba(255, 255, 255, .8) は rgb に透明度(Alpha)を加えたもので、最後の値が 0(透明)〜1(不透明)です。16進数は #ff0000 を #f00 のように3桁に省略できます。
px は画面の1ドットを1とする絶対値で、親や画面の大きさに関係なく同じ大きさになります。
% は親要素の値を基準にした相対値です。width: 50% なら親の幅の半分です。em は親要素の文字サイズ(font-size)が基準で、1.5em は親の1.5倍です。rem はルート要素(html)の文字サイズが基準で、ブラウザの初期値は 16px なので 1.5rem は 24px になります。
vw・vh はビューポート(ブラウザの表示領域)の横幅・縦幅を基準にした相対値で、1vw が横幅の1%です。vmin・vmax は、横幅と縦幅の小さいほう・大きいほうを基準にします。
単位の使い分けは、制作会社や案件のコーディングルール(レギュレーション)で決められていることが多いため、それぞれの違いを理解しておくことが大切です。一般的には、文字サイズは px・em・rem を使います。rem で指定しておくと、html の font-size を変えるだけでページ全体の文字サイズを一気に変更できます(PCサイトだけのページなら px でも問題ありません)。
レイアウトのサイズは px と % を使い分けます。header や main のようにページのレイアウトを担う要素の幅を % で指定すると、画面のサイズが変わっても要素が見切れたり、横スクロールが出たりしません。
応用例・注意点
色の値と単位
| 値・単位 | 説明 |
|---|---|
red / blue / green | 色の名前 |
#ffffff / #fff | 16進数(3桁に省略できる) |
rgb(255, 255, 255) | 赤・緑・青を0〜255で |
rgba(255, 255, 255, .8) | rgb に透明度(0〜1)を加えたもの |
px | 1px = 1ドットの絶対値 |
% | 親要素の値を基準にした相対値 |
em | 親要素の font-size を基準にした相対値 |
rem | ルート要素(html)の font-size を基準にした相対値 |
vw | ビューポートの横幅の1% |
vh | ビューポートの縦幅の1% |
vmin | 横幅と縦幅の小さいほうの1% |
vmax | 横幅と縦幅の大きいほうの1% |
文字サイズを rem でまとめて変える
rem で指定しておくと、html の font-size を変えるだけで全体が拡大・縮小します。
レイアウトの幅は % と max-width で
% で画面に合わせて伸び縮みさせ、max-width で広がりすぎを防ぎます。
画面の高さいっぱいのメインビジュアル
vh を使うと、ブラウザの縦幅に合わせた高さにできます。
注意点
- 010 のときは単位を省略できます(margin: 0)。それ以外は、数値と単位の間に空白を入れずに書きます(16 px は無効)。
- 02em は入れ子にすると、親の em がさらに掛け算されて大きくなりすぎることがあります。迷ったら rem を使います。
- 03100vw はスクロールバーの幅を含むため、width: 100vw にすると横スクロールが出ることがあります。幅いっぱいにするなら width: 100% を使います。