目次
CSSで基本的なフォントサイズの指定方法
4年に一度のサッカーの祭典、W杯が始まりました。普段はほぼ観ないサッカーですが、W杯は別。日本を応援しつつ世界のイケメンプレーヤーを見つけるのが楽しみだったりします。
さてさて、今回はCSSでのフォントサイズの指定方法についてお届けします。
フォントサイズの指定方法
ブラウザのデフォルトサイズ
大前提として、そもそものデフォルトサイズは
100% = 1em = 1rem = 16px = 12pt
CSSでのフォントサイズの指定方法にはいくつかありますが、大きく分けて相対指定と絶対指定があります。
絶対指定
サイズを固定した指定方法です。他CSSによる影響を受けません。
px | pixels (1px = 1/96th of 1in) |
---|---|
pt | points (1pt = 1/72 of 1in) |
pc | picas (1pc = 12 pt) |
相対指定
それ自身に決まったサイズは無く、親要素の指定によって変わります。
% | 親要素を基準にして相対 |
---|---|
em | 親要素のfont-sizeに相対 |
rem | ルート要素のfont-sizeに相対 |
keyword(キーワード) | xx-small、x-small、small、medium、large、x-large、xx-large |
vw | ビューポート*の幅の1% |
vh | ビューポート*の高さの1% |
vmin | ビューポート*の小さい方の寸法の1% |
vmax | ビューポート*の大きい方の寸法の1% |
* Viewport ビューポート= ブラウザのウィンドウサイズ。 ビューポートが50cm幅の場合, 1vw = 0.5cm
各指定方法の特徴
代表的な単位についてもう少し詳しくみてみましょう。
px ピクセル
最もスタンダードな指定方法といっても過言ではないでしょう。全ブラウザで全く同じ大きさであると思われているかもしれませんが、実はデバイスによって大きさが違います。1ピクセルを1とする単位で、実際に表示されるサイズは72dpiや96dpiといったモニタの解像度により変化します。
em エム
親要素に対しての相対的なサイズの単位です。bodyのfont-sizeが100%もしくは何も指定していない場合、 ブラウザのデフォルトのフォントサイズが基準となり、1em=16pxとなります。
rem レム
root(html)の対しての相対的なサイズの単位です。bodyのfont-sizeが100%もしくは何も指定していない場合、 ブラウザのデフォルトのフォントサイズが基準となり、1rem=16pxとなります。
相対指定で一番わかりやすいのはこのrem指定ではないかと思います。ルートを
html { font-size: 62.5%; }
と設定するとデフォルトのフォントサイズを16pxから10pxに変更できます。基準を10pxとすることで、1.6remが16px、2remが20px、というように直感的にフォントサイズを設定することができます。
レスポンシブに適した指定方法
最近は当たり前になったレスポンシブデザインですが、px指定、em指定、rem指定等ではPCとSPでそれぞれ設定を変更しないとバランスが悪い場合が多いかと思います。
vw、vh
そこで試していただきたいのが、ビューポートに合わせて変化するvw、vh指定です。基準となるビューポートの幅は100vwです。10vwと設定するとビューポート幅の10%でフォントサイズが変化します。
ただこの指定方法にも弱点はあり、ビューポートが広すぎる場合は文字が大きすぎる、ビューポートが狭すぎる場合には文字が小さすぎて読みにくくなってしまいます。可変させるビューポートの幅を設定する必要があります。
まとめ
これまではなんとなくこの指定方法がよさそうだ、という軽い気持ちで指定していたのですが、それぞれの特徴をきちんと把握したうえで使いこなさないといけないですね。
ショップアイズは大阪のWeb制作会社「アイズオブシー」が運営する
Shopify(ショッピファイ)専門のEC構築サービスです。
Shopify(ショッピファイ)の構築・運用にお困りの場合は気軽に相談ください。