行間・文字間隔

line-heightletter-spacingword-spacing

テキストの読みやすさを左右する行間・文字間隔・単語間隔のCSSプロパティです。適切な設定により可読性を大きく向上させることができます。

デモ:line-height の違い

line-height: 1

日本語のテキストは行間が読みやすさに大きく影響します。このサンプルは行間が非常に狭い例です。

line-height: 1.7(推奨)

日本語のテキストは行間が読みやすさに大きく影響します。このサンプルは適切な行間の例です。

line-height: 3

日本語のテキストは行間が読みやすさに大きく影響します。このサンプルは行間が広すぎる例です。

デモ:letter-spacing / word-spacing

letter-spacing: normal

あいうえおかきくけこ — ABCDEFGHIJ

letter-spacing: 0.1em

あいうえおかきくけこ — ABCDEFGHIJ

letter-spacing: 0.3em

あいうえおかきくけこ — ABCDEFGHIJ


word-spacing: normal

Hello World — This is a word spacing demo

word-spacing: 1em

Hello World — This is a word spacing demo

コード例

/* line-height: 単位なし(推奨) */
p {
  line-height: 1.7;      /* フォントサイズの1.7倍 */
}

/* letter-spacing: emを使うと文字サイズに比例 */
h1 {
  letter-spacing: 0.05em;   /* 文字サイズの5% */
}

/* word-spacing: 単語間隔 */
.spaced {
  word-spacing: 0.5em;
}

/* lh単位(2023年〜): line-heightの単位 */
.margin-lh {
  margin-bottom: 1lh;    /* 1行分のマージン */
}

/* ex単位: x-heightの高さ */
.small-cap {
  font-size: 0.8ex;
}

比較:line-height の単位ありvs単位なし

指定方法単位なし(例: 1.7)px / em(例: 1.7em)
子要素への継承✅ 倍率として継承(子の font-size × 1.7)⚠️ 計算済みのpx値が継承される
font-size変更時✅ 自動的に追従する❌ 親のfont-sizeに固定される
推奨度⭐ 推奨(柔軟でバグが少ない)注意が必要
使用例line-height: 1.7line-height: 1.7em

NEWlh 単位 — line-height ベースの相対単位(2023年〜)

lh 単位は要素の line-height を基準にした相対単位です。 テキストの行数に比例したスペーシングが簡単に実現できます。

/* lh単位: 1行分の高さを基準にした単位 */
.paragraph {
  line-height: 1.7;
  margin-bottom: 1lh;   /* 1行分のマージン(= font-size × 1.7) */
  padding-top: 0.5lh;   /* 半行分のパディング */
}

/* rlh単位: ルート要素のline-heightを基準 */
.element {
  margin: 1rlh;
}

🤖 AIプロンプトテンプレート

CSSの行間・文字間隔プロパティを使った可読性デモをReact + Tailwind CSSで作成してください。

要件:
- line-height の値(1 / 1.4 / 1.7 / 2)を切り替えて比較できるインタラクティブデモ
- letter-spacing / word-spacing の値をスライダーで変更できるデモ
- 単位なしのline-height(推奨)と単位ありの違いを継承の観点で比較する説明
- 日本語テキストと英語テキスト両方での表示確認ができるサンプル
- lh単位(1行分の高さ)を使ったスペーシングの実例
- タイポグラフィのベストプラクティス(推奨値)をまとめた比較表

⚠️ このプロンプトはあくまでたたき台です。AIの回答はモデルやバージョン、会話の文脈によって毎回異なります。意図通りに動かない場合は、条件を追記・修正してお使いください。