フォント・行
Javaマスターへの第一歩!プログラミングの基本を学びましょう!
変数とデータ型2024/2/23 6:112024/11/25 1:06演算子2024/2/23 6:102024/11/25 1:06制御文2024/2/23 6:092024/11/25 1:06配列2024/2/23 6:082024/11/25 1:06メソッド2024/2/23 6:062024/11/25 1:06オブジェクト指向2024/2/23 6:052024/11/25 1:06コンストラクタ2024/2/23 6:032024/11/25 1:06カプセル化2024/2/23 6:022024/11/25 1:06継承2024/2/23 6:002024/11/25 1:06ポリモーフィズム2024/2/23 5:502024/11/25 1:06パッケージとクラスライブラリ2024/2/23 5:472024/11/25 1:06抽象クラスとインターフェース2024/2/23 5:432024/11/25 1:06コレクションフレームワーク2024/2/23 5:442024/11/25 1:06関数型インターフェースとラムダ式2024/2/23 5:412024/11/25 1:06Stream API2024/2/23 5:332024/11/25 1:06例外処理2024/7/21 23:092024/11/25 1:06
このチャプターの目次
サイズ指定の単位
スタイルシートではサイズを指定することが多いです。本題に入る前にサイズ指定の単位について解説しておきたいと思います。 サイズを表す際には「相対的な大きさ」を指定するものと、「絶対的な大きさ」を指定するものがあります。
単位 | 意味 | |
絶対的指定 | px | 指定された数値のpxを大きさとする。 |
相対値指定 | em | 親要素のfont-sizeを1とする単位 |
rem | 基点(ルート)要素のfont-sizeを1とする単位 | |
% | 親要素または現在の設定を100%とする単位 |
- 絶対的指定
- px
Webページを閲覧する環境(OSやブラウザ)が変わろうとも、指定されたサイズで固定表示されます。そのため、場合によっては表示が小さすぎたり大きすぎたりすることがあります。
- 相対値指定
- em
- rem
- %
ある基準をもとに倍にするとか半分にするといった相対的な書き方をします。環境に応じた基準をもとに表示されるため、どんな環境でも適切な大きさで表示されるという違いがあります。スマートフォンで閲覧した場合にはそれに適した大きさで表示され、PCで閲覧した場合にはそれに適した大きさで表示されます。ここでは3つの単位をご紹介します。3つの単位の違いは基準です。
基準は親要素のfont-sizeです。親要素のfont-sizeは、その時のスタイルシートの設定など状況によって異なります。
基準はルート要素のfont-sizeです。remの頭のrはルートのrです。ルート要素とはhtml要素のことです。Google Chromeのデフォルトスタイルシートでは、16pxに設定されています。
emは、基準を直近の要素においている。remは、基準をそのドキュメントに置いている。と捉えることもできるかと思います。
指定するプロパティによって基準が変わります。予期せぬ結果になることがありますので、注意が必要です。例えば、font-sizeの場合は親要素のfont-sizeが基準になります。marginやpaddingの場合は、親要素の幅(width)が基準となります。line-heightのような行の高さを指定するプロパティの場合、自要素(自分自身)のfont-sizeが基準になります。また、場合によってはブラウザによっても結果が変わることがあり得ますので、要注意です。
フォント・行
font-size
文字の大きさを指定するプロパティです。
主要な値
値 | 意味 | 例 |
em、remでの指定 | 文字の大きさをem、remで指定する。 | |
%値での指定 | 文字の大きさを現在の設定の何%にするか指定する。 | |
pxでの指定 | 文字の大きさをpxで指定する。 |
解説
- 相対値指定
- em
- rem
- %
基準は親要素のfont-sizeです。
このような親子関係があり、親の要素が20pxだった場合
p要素のスタイルシート、
は30pxになります。
基準はルート要素のfont-sizeです。の場合、デフォルトだと16pxの2倍、32pxになります。
font-sizeプロパティの % 指定時の基準は親要素のfont-sizeになります。
このような親子関係があり、親の要素が20pxだった場合、
p要素のスタイルシート、
は、基準の80%である16pxになります。
- 絶対値指定
- px
基準はなく固定値で書きます。指定されたサイズ固定で表示されます。
font-style
文字のスタイルを指定するプロパティです。
主要な値
値 | 意味 | 例 |
normal | 通常のスタイル | |
italic | 筆記体のスタイル | |
oblique | 斜体のスタイル |
解説
- italic
文字スタイルを筆記体にします。
文字のスタイル italic
- oblique
文字スタイルを斜体にします。
文字のスタイル oblique
※ ブラウザで表示した際、ほとんどの場合italicもobliqueも同様の見た目になるという理解でよろしいかと思います。
※ Windowsの場合、デフォルトのフォントがメイリオだと筆記体や斜体の表示ができません。font-familyのプロパティでメイリオ以外のフォントを指定してください。
text-decoration
文字の装飾を指定するプロパティです。
主要な値
値 | 意味 | 例 |
underline | 下線 | |
overline | 上線 | |
line-through | 打ち消し線 |
解説
- underline;
文字の下に線がつきます。
- overline;
文字の上に線がつきます。
- line-through;
文字に打ち消し線をつけます。訂正した、という形跡を残しておきたいような場合に使います。 Webに間違った情報を上げてしまったような場合、いきなりその内容を削除してしまうのではなく、訂正をしたという形を残しておくのが相応しい場合があります。
例えば、HTMLのdelタグなどのスタイルに使う方法があります。
text-indent
文字のインデントを指定するプロパティです。ただし、displayプロパティがinlineの要素に適用されません。
主要な値
値 | 意味 | 例 |
em、remでの指定 | インデントをem、rem単位で指定する。 | |
pxでの指定 | インデントをpx単位で指定する。 |
解説
- 相対値指定
- em
- rem
- %
基準は親要素のfont-sizeです。スタイルシートの設定にもよりますが、子要素は親要素のfont-sizeを引き継ぎますので、の場合、余白はおおよそ一文字分になります。
基準はルート要素のfont-sizeです。text-indent: 0.5remの場合、デフォルトでは16pxの半分である8pxのインデントが設定されます。
text-indentプロパティの % 指定時の基準は親要素の幅(width)になります。
親の要素の幅が100pxだった場合、インデントは30pxになります。
- 絶対値指定
- px
基準はなく固定値で書きます。指定されたサイズ固定で表示されます。
text-align
文字の配置位置を指定するプロパティです。ただし、displayプロパティがinlineの要素は対象にはなりません。 ブロックレベル要素に指定すると、その中のインライン要素の水平位置が決まります。
主要な値
値 | 意味 | 例 |
left | 左揃え | |
center | 中央揃え | |
right | 右揃え |
解説
- left
ブロックレベルの中のインライン要素を左揃えにします。
- center
ブロックレベルの中のインライン要素を中央揃えにします。
- right
ブロックレベルの中のインライン要素を右揃えにします。
line-height
行の高さを指定するプロパティです。font-sizeとは別のプロパティになります。font-sizeより少し大きめにするのがおすすめです。小さすぎると行間がキツキツになってしまいますし、大きすぎても読みにくい文章になってしまいます。
狭すぎる場合
広すぎる場合
主要な値
値 | 意味 | 例 |
em、remでの指定 | 行の高さをem、rem単位で指定する。 | |
%値での指定 | 行の高さを現在の設定の何%にするか指定する。 | |
pxでの指定 | 行の高さをpx単位で指定する。 |
解説
- 相対値指定
- em
- rem
- %
基準は親要素のfont-sizeです。の場合、行の高さは2文字分になります。
基準はルート要素のfont-sizeです。の場合、デフォルトだと16pxの2.5倍の40pxになります。
line-heightプロパティの % 指定時の基準はその要素のfont-sizeになります。
200%を指定した場合、行の高さは2文字分になります。
- 絶対値指定
- px
基準はなく固定値で書きます。指定されたサイズ固定で表示されます。
サンプルコード
※ Windowsをお使いで筆記体のスタイルがうまく適用されない場合
bodyタグセレクタのスタイルシートを設定してください。