ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
基本の指定方法
/* 数値(推奨) */
p { font-weight: 400; } /* normal */
strong { font-weight: 700; } /* bold */
/* キーワード */
p.light { font-weight: lighter; }
p.thick { font-weight: bolder; }
p.normal { font-weight: normal; }
p.bold { font-weight: bold; }
/* 9 段階 */
.w100 { font-weight: 100; } /* Thin / Hairline */
.w200 { font-weight: 200; } /* Extra Light */
.w300 { font-weight: 300; } /* Light */
.w400 { font-weight: 400; } /* Normal / Regular */
.w500 { font-weight: 500; } /* Medium */
.w600 { font-weight: 600; } /* Semi Bold / Demi Bold */
.w700 { font-weight: 700; } /* Bold */
.w800 { font-weight: 800; } /* Extra Bold */
.w900 { font-weight: 900; } /* Black / Heavy */
キーワード / 数値の対応
| 数値 | キーワード | 一般名 |
|---|---|---|
| 100 | Thin, Hairline | |
| 200 | Extra Light, Ultra Light | |
| 300 | Light | |
| 400 | normal | Regular, Normal, Book |
| 500 | Medium | |
| 600 | Semi Bold, Demi Bold | |
| 700 | bold | Bold |
| 800 | Extra Bold, Ultra Bold | |
| 900 | Black, Heavy |
lighter / bolder の挙動
親要素の weight を基準に1 段階だけ軽く / 重くします。実際には次の表に従ってジャンプ:
| 親の weight | bolder | lighter |
|---|---|---|
| 1〜99 | 400 | 100 |
| 100〜349 | 400 | 100 |
| 350〜549 | 700 | 100 |
| 550〜749 | 900 | 400 |
| 750〜899 | 900 | 700 |
| 900〜 | 900 | 700 |
フォールバックと合成 bold
指定した weight のフォントファイルが無い場合、ブラウザが最も近い weight を選びます。さらに「太字版が存在しない」ときは合成(synthetic) boldとして強制的に線を太らせます:
body {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 400; /* Regular */
}
strong {
font-weight: 800; /* Extra Bold */
/* もし 800 が無ければ 700 にフォールバック */
/* それも無ければブラウザが合成 bold(見た目が荒くなる) */
}
/* 合成を禁止して、本来のフォントウェイトだけ使う */
strong {
font-synthesis: none;
}
Variable Font を使う
Variable Font は1 ファイルで連続的に weight を変えられる新世代フォント:
/* @font-face で範囲指定 */
@font-face {
font-family: 'Inter';
src: url('/fonts/Inter-VariableFont.woff2') format('woff2-variations');
font-weight: 100 900; /* ★ 100 〜 900 の任意の値が使える */
font-style: normal;
font-display: swap;
}
body {
font-family: 'Inter', sans-serif;
}
p { font-weight: 350; } /* ✅ 連続値が指定可能 */
h1 { font-weight: 875; } /* ✅ */
.subtle { font-weight: 425; } /* ✅ Light と Regular の間 */
Google Fonts での Variable Font
<!-- 100-900 全範囲 -->
<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=Inter:wght@100..900&display=swap" rel="stylesheet">
@font-face で固定 weight をロード
/* Regular */
@font-face {
font-family: 'NotoSansJP';
src: url('/fonts/NotoSansJP-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
/* Bold */
@font-face {
font-family: 'NotoSansJP';
src: url('/fonts/NotoSansJP-Bold.woff2') format('woff2');
font-weight: 700;
font-style: normal;
font-display: swap;
}
/* ★ 同じ font-family で異なる weight ファイルを別個に登録するのが正しい
font-weight: 400 と font-weight: 700 でブラウザが自動で正しい方を使う */
font-style / font-stretch との組合せ
/* 短縮形 font */
p {
font: italic bold 16px/1.5 'Noto Sans JP', sans-serif;
/* style weight size/line-height family */
}
/* 個別指定 */
p {
font-style: italic;
font-weight: 700;
font-stretch: 95%; /* Variable Font の幅も連続可 */
font-size: 16px;
line-height: 1.5;
}
ブラウザのデフォルト weight
| 要素 | デフォルト weight |
|---|---|
p / span / div / 本文 | normal (400) |
h1 〜 h6 | bold (700) |
strong / b | bold (700) |
em / i | normal (400)(斜体だが太さは normal) |
th | bold (700) |
button | normal (400)(UA 依存) |
Web Font のロード戦略
weight 別に WOFF2 を全部ロードするとFCP が遅くなる。よく使う weight だけ初期ロードし、それ以外は遅延:
<!-- 1. 本文に使う Regular だけ preload -->
<link rel="preload"
href="/fonts/NotoSansJP-Regular.woff2"
as="font" type="font/woff2" crossorigin>
<!-- 2. Bold は font-display: swap で順次 -->
<style>
@font-face {
font-family: 'NotoSansJP';
src: url('/fonts/NotoSansJP-Bold.woff2') format('woff2');
font-weight: 700;
font-display: swap; /* ★ 読込中はシステムフォント */
}
</style>
<!-- 3. Variable Font なら 1 ファイルで全範囲 -->
よくある落とし穴
- 500 / 600 が指定通り出ない → そのフォントに 500/600 が存在しない(多くの和文フォントは 400/700 のみ)
- bolder にしてもほぼ変わらない → 親が既に 700 だと 900 が無いと変化しない
- 合成 bold で字形が崩れる →
font-synthesis: noneを入れて本来の weight のみ使う - Variable Font なのに連続値が効かない →
@font-faceのfont-weightに範囲100 900を書き忘れている
FAQ
Q: 日本語フォントで Variable Font が使える?
A: Noto Sans JP / M PLUS など Google Fonts の主要和文に Variable 版があります。
Q: font-weight: 0 や 1000 は?
A: 仕様外。多くのブラウザは clamp して 100 / 900 として扱います。
Q: 数値とキーワード、どちらが推奨?
A: 数値推奨。デザインシステムで一貫した weight 管理がしやすく、Variable Font とも整合します。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- font-familyプロパティ
- font-sizeプロパティ
- font-weightプロパティで文字の太さを指定する
- font-styleプロパティ
- font-variantプロパティ
- fontプロパティ
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?