| この記事の要点 |
|
CSS フォント関連プロパティ概観
CSS でフォントを指定するプロパティは複数あり、それぞれが文字の種別・サイズ・太さ・スタイル・行間を担当します。本記事では主要なプロパティの使い分けと、Web フォントの導入方法までを整理します。
| プロパティ | 用途 | 例 |
|---|---|---|
font-family | 書体の種類 | "Noto Sans JP", sans-serif |
font-size | 文字サイズ | 16px / 1.2rem / 110% |
font-weight | 文字の太さ | normal / bold / 700 |
font-style | 斜体 / 通常 | italic / normal |
font-variant | スモールキャップス等 | small-caps |
line-height | 行の高さ | 1.5 / 24px |
font | 上記の一括指定 | bold 16px/1.5 sans-serif |
letter-spacing | 字間 | 0.05em |
word-spacing | 単語間 | 0.2em |
text-transform | 大文字小文字 | uppercase |
font-family — 書体の指定
カンマ区切りで複数指定すると、左から順にユーザー環境にインストール済みのフォントを探します。最後に総称ファミリ (sans-serif / serif / monospace) を必ず指定。
/* 日本語サイトの定番 */
body {
font-family:
"Hiragino Sans", /* Mac */
"Yu Gothic", /* Windows */
"Noto Sans JP", /* Web フォント */
sans-serif; /* 最終フォールバック */
}
/* 等幅フォント (コード表示) */
code {
font-family:
"Source Code Pro",
"Consolas",
"Menlo",
monospace;
}
フォント名にスペースが含まれる場合はクォートで囲みます。
font-size — 文字サイズ
| 単位 | 意味 | 使いどころ |
|---|---|---|
px | 絶対サイズ | 固定したい部分 |
em | 親要素のフォントサイズ基準 | 相対調整 |
rem | ルート (html) のサイズ基準 | 推奨。ユーザー設定が効く |
% | 親要素基準 | em と同じ |
vw | ビューポート幅基準 | レスポンシブな見出し |
| clamp() | 最小〜推奨〜最大 | 流動タイポグラフィ |
html { font-size: 16px; } /* 1rem = 16px */
h1 { font-size: 2rem; } /* 32px */
p { font-size: 1rem; } /* 16px */
/* レスポンシブな見出し (320px〜1200px で 24px〜48px) */
h1.fluid {
font-size: clamp(1.5rem, 2vw + 1rem, 3rem);
}
font-weight — 太さ
キーワードと数値の両方で指定できます。数値は100〜900 の 100 刻み。
| 数値 | キーワード | 呼び名 |
|---|---|---|
| 100 | - | Thin |
| 300 | - | Light |
| 400 | normal | Regular |
| 500 | - | Medium |
| 700 | bold | Bold |
| 900 | - | Black |
フォントが該当ウェイトを持たない場合、ブラウザが最も近いウェイトで代用するため、細い指定が太く見えることがあります。
font 一括指定
font ショートハンドは複数プロパティを 1 行で指定できますが、順序とサイズが必須。
/* 構文: [font-style] [font-variant] [font-weight] font-size[/line-height] font-family */
body {
font: italic bold 16px/1.5 "Noto Sans JP", sans-serif;
}
/* シンプル版 */
p {
font: 14px sans-serif; /* size と family は必須 */
}
注意: 一括指定は指定していないプロパティを初期値にリセットするため、既存の font-weight 等を残したい場合は個別指定の方が安全です。
Web フォントの導入
方法1: Google Fonts (簡単)
<head>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap" rel="stylesheet">
</head>body {
font-family: "Noto Sans JP", sans-serif;
}
方法2: @font-face で自前ホスト
@font-face {
font-family: "MyFont";
src: url("/fonts/MyFont.woff2") format("woff2"),
url("/fonts/MyFont.woff") format("woff");
font-weight: 400;
font-style: normal;
font-display: swap; /* 重要 */
}
body { font-family: "MyFont", sans-serif; }
font-display: swap をつけると、フォント読み込み中はシステムフォントで表示し、後で差し替わります。これで FOIT (Flash of Invisible Text = 白画面) を防げます。
FAQ
Q: 日本語 Web フォントは重い
A: 平均 5〜10MB ある。サブセット化(使う文字だけ抽出)か、Adobe Fonts / Google Fonts の動的サブセット (woff2) を使う。
Q: !important が効かないことがある
A: ブラウザの最小フォントサイズ設定が優先される。Chrome は設定 > 外観 > カスタマイズで変更可。
Q: ベンダーフォント名を間違えるとどうなる
A: そのフォントを無視して次の候補へ。必ず総称ファミリ (sans-serif など) で終わらせれば安全。
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスのソフト一覧|Blender・Metasequoiaと用途別の選び方
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Visual Studio「デザイナーを表示できません」エラーの原因と対処 2026-10-28 12:06:00
- SSH 認証に失敗しました。再試行してください の対処 2026-10-28 12:06:00
- SSH2 秘密鍵の読み込みに失敗しました の原因と対処 2026-10-28 12:06:00
- TeraTerm のよくあるエラーと対処法完全ガイド — Connection refused / 2026-10-28 12:06:00
- Visual Studio エラー一覧|コンパイルエラー・警告の確認方法と対処 2026-10-28 11:39:57
- Whitelabel Error Page の原因と消し方|Spring Boot のエラーページ 2026-10-28 11:39:57
- Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法 2026-10-28 11:39:57
- SQL WHERE 句完全ガイド 2026-10-28 11:39:57
- SQL JOIN 完全ガイド (INNER/LEFT/RIGHT/FULL OUTER) 2026-10-28 11:39:57
- tomcat の起動 / 停止ログと catalina.log・catalina.out の違い 2026-10-28 10:24:23
- Tomcat の起動確認方法 5 つ|localhost:8080・ポート・プロセス・ログ 2026-10-28 10:24:23
- Oracle 19c COMMITの使い方: 暗黙コミット・自動確定・応答不明時の確認 2026-10-28 09:59:09
- Oracle 19c DELETE文|削除対象の確認・COMMIT前の判断・ROLLBACKの条件 2026-10-28 09:59:09
- Oracle 19c INSERT文|INSERT ALL・SELECT・RETURNINGとMERGEの使い分け 2026-10-28 09:59:09
- Oracle 19cのトランザクション制御|COMMIT・ROLLBACK・分離レベルと接続設定 2026-10-28 09:59:09