font:フォントに関する様々な機能を一括で指定する

初期値 各プロパティの初期値
適用対象 全ての要素、::first-letterおよび::first-line
継承 する
アニメーション 各プロパティの値に基づく
対応ブラウザ caniuseで確認

fontプロパティの説明

CSSのfontプロパティは、フォントに関する様々な機能を一括で指定します。よく使われる機能として、フォントの大きさ、太さ、フォントファミリーの変更などがありますが、他にも色々な機能を備えています。

fontで操作できるプロパティは以下の通りです。他のショートハンド・プロパティと同様に、一括指定で省略された値は各プロパティの初期値に上書きされてしまいます。それが合理的なマークアップでない限り、複数のプロパティを使い分けた方が安全だと言えます。

fontを使う場合は、いくつかの規則を守らなければなりません。主に省略できない値と記述する順番に気をつける必用があります。

  • font-familyfont-sizeの値は省略できません。その他の値は任意です。
  • font-stylefont-variantfont-weightの値は、font-sizeの前に記述しなければなりません。
  • font-variantに該当する値は、normalおよびsmall-capsだけが使えます。
  • font-stretchに該当する値は、単一のキーワードのみが使えます。
  • line-heightに該当する値は、font-sizeの後にスラッシュ(/)で区切って指定します。
  • font-familyの値は、必ず最後に記述します。

fontに指定できる値

<'font-family'>
フォントの種類を表します。font-familyで指定できる値です。
<'font-stretch'>
フォントの幅を伸縮表します。font-stretchで指定できる値です。
<'font-style'>
フォントの書体を表します。font-styleで指定できる値です。
<'font-variant'>
フォントの合成規則を表します。font-variantで指定できる値です。
<'font-weight'>
フォントの太さを表します。font-weightで指定できる値です。
<'line-height'>
行間を表します。line-heightで指定できる値です。

システムフォント値

caption
キャプション付きのコントロールに使用されるシステムフォントを有効にします。
icon
ラベルアイコンに使用されるシステムフォントを有効にします。
menu
ドロップダウンメニューやメニューリストに使用されるシステムフォントを有効にします。
message-box
ダイアログボックスに使用されるシステムフォントを有効にします。
small-caption
スモールキャピタルに使用されるシステムフォントを有効にします。
status-bar
ウィンドウのステータスバーに使用されるシステムフォントを有効にします。
keyword
特定の環境で使用できるシステムフォントを有効にします。

fontの使い方とサンプルコード

fontプロパティの構文は以下の通りです。


/* 必須の値 */
font: 1rem sans-serif;
font: 24px serif;

/* 記述する順序 */
font: bold 1.8rem monospace;
font: 300 oblique 1.6rem fantasy;

/* line-heightの指定 */
font: 1.6rem / 1.5 serif;

/* グローバル値 */
font: inherit;
font: initial;
font: revert;
font: unset;

fontの実例

それでは実際にfontプロパティの書き方を見ていきましょう。以下の例は、比較的よく使われる値をまとめて指定した時の挙動を表しています。


<section class="samp_box">
	<h2>font</h2>
	<p id="font_1">font: 1rem sans-serif; あいうえおカキクケコ。</p>
	<p id="font_2">font: bold 1.2rem serif; あいうえおカキクケコ。</p>
	<p id="font_3">font: italic 1.5rem / 2 monospace; あいうえおカキクケコ。</p>
</section>

.samp_box {
	overflow: auto;
	width: 100%;
	margin-top: 1rem;
	padding: 0 1rem 1rem;
	background: #eee;
}
.samp_box h2 {
	margin: 1rem 0 0;
	font-size: 1rem;
}
.samp_box p {
	margin: 1rem 0 0;
	padding: .3rem;
	background: #fff;
}
#font_1 {
	font: 1rem sans-serif;
}
#font_2 {
	font: bold 1.2rem serif;
}
#font_3 {
	font: italic 1.5rem / 2 monospace;
}

fontに関連するCSSプロパティ

フォント・文字色
color 文字の色を指定する
font フォントに関する様々な機能を一括で指定する
font-family 文字フォントの種類を指定する
font-feature-settings OpenTypeフォントの拡張書体の特性を制御する
font-kerning フォントの文字詰め(カーニング)を制御する
font-language-override 文字を表示する祭に使用する言語情報を一時的に変更する
font-size 文字フォントの大きさを指定する
font-size-adjust 現在のフォントサイズを基準に小文字の大きさを相対的に調整する
font-stretch 表示させるフォントの幅広や幅狭のフェイスを指定する
font-style フォントを筆記体や斜体で表示するかどうかを指定する
font-synthesis 太字や斜体に対応していないフォントの加工を制御する
font-variant フォントの表示形式やブラウザの合成規則を一括で指定する
font-variant-alternates 文字フォントの代替字体(グリフ)の選定を制御する
font-variant-caps 文字列に適用されるキャピタライゼーションルールを制御する
font-variant-east-asian 東アジアの言語で使われる字体を制御する
font-variant-ligatures 隣り合った文字フォントの合字(リガチャ)を制御する
font-variant-numeric 数値に関する文字表記を制御する
font-variant-position 上付き文字や下付き文字として配置されるべき字体の使用を制御する
font-weight 文字フォントの太さを指定する