[CSS] いろんな単位とその違い (ドット, px, %, vw, em, rem, x)

ドットとpxの関係

ドット

ドットは、ドット絵などという言葉があるように、モニターを構成する点の数で固定値である。

px

ここではCSS、ブラウザにおけるpxに限定する。これは可変値である。

pxはデバイスピクセル比の値によって異なる。

デバイスピクセルが「1」の場合

デバイスピクセルが「1.5」の場合

デバイスピクセル比とは

各デバイス機器に設定されていて、「何ドットで1pxとするか」を表す。

なぜこのようなものがあるかというと、年々、解像度が向上しているため。解像度が上がる=ドットの間隔が縮まると、同サイズの画像を表示するにしても、高解像度のほうが小さく表示される。つまり

  1. PCだと普通のサイズで表示されるとしても、
  2. 最新のスマホはPCに比べ解像度が高く、画像が小さく表示される。(解像度についての参考:「PC」「スマホ」)

2.の状態を避けるために、1画素の情報を2ドットや3ドットに拡大して表示させることにより、実質の表示サイズを大きくさせている。

まとめると、px × デバイスピクセル比 = ドット

%とvwの関係

いずれも、widthなどの幅関連のプロパティに使用される。

%

親の幅を基準(100%)として計算する。

親の幅の変動の影響を受ける。

vw

ビューポートの幅を基準(100%)として計算する。

ビューポートとはほぼブラウザ全体をさす。厳密にはjavascriptで参照できるclientwidthからrootのmarginとborderの幅を除いたものである。

親の幅の変動の影響を受けない。

レスポンシブ対応で画面いっぱいに表示させたいときに使う。

 

emとremの関係

いずれも、font-sizeの指定に使用される。

emとremの関係は%とvwと同じであり、親を見るかビューポート全体を見るかである。

xとは

デバイスピクセル比を表す。

レスポンシブ対応で「デバイスピクセル比が大きい(もっぱらスマホ)ほど大きい画像を表示させよう」という時に使用する。

<img
  src="./img.jpg"
  srcset="./img-150w.jpg
          ./img-300w.jpg 2x.
          ./img-600w.jpg 3x"
  alt="">

まとめ

  • px × デバイスピクセル比 = ドット
  • 幅指定 %:親基準, vw:ビューポート基準
  • フォントサイズ指定 em:親基準, rem:ビューポート基準
  • デバイスピクセル比指定:x

 

 

コメントを残す