ハーフレディング(line-height)
Lism CSSでは、line-height の扱いが独特となっており、ハーフレディングの値でline-heightを管理する仕組みになっています。
ハーフレディングとは、line-heightから文字サイズを除いた余白を上下に半分ずつ振り分けた、片側分の余白のことです。
ハーフレディング管理の仕組み
Lism では、全要素に対し、以下のスタイルが適用されています。
* { line-height: var(--lh, calc(1em + var(--hl) * 2));}これにより、line-heightの値は基本的に、--hl というハーフレディングを指定するための変数に依存する仕組みになっており、
どんな文字サイズのテキストに対しても同じ余白量でレイアウトを組んでいくことが可能です。
--lh がセットされている場合はそちらが優先されます(後述の lh プロパティで使用します)。
line-height はこの全要素ルールで管理されているため、素の CSS で line-height を直接指定しても子要素には継承されません。行間は hl / lh プロパティ経由で指定してください。
ハーフレディング管理のメリット
line-height: 1.6 のような倍率指定では、行間の余白もフォントサイズに比例して広がります。本文サイズなら問題ありませんが、見出しのような大きな文字では行間が空きすぎて間延びした印象になります。
ハーフレディングを固定値で管理すれば、フォントサイズが変わっても行と行の間の余白は一定に保たれます。
H1: ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
H2: ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
H3: ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
H4: ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
H5: ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
p : ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
s: ロレム・イプサムの座り雨。目まぐるしい文章の流れの中で、それは静かに歩く仮の言葉です。Elitも穏やかに続いていきますが、積み重ねられてきた「LiberroyとFoogの取り組み」は、余白のようなものです。
lh(line-height)も使用可能
hl はフォントサイズに依存しない固定量で行間を管理しますが、画面サイズでフォントサイズが大きく変わる見出しなど、フォントサイズに比例した行送りを保ちたい場合のために、line-height を倍率で指定する lh プロパティも用意しています。
| 指定 | 挙動 |
|---|---|
lh="xs" / "s" / "m" / "l" / "xl" |
--lh に LHトークン(1.125〜2)をセット |
lh="1" |
--lh: 1(行間なし) |
lh="1.7" などの任意の数値 |
--lh: 1.7 としてセット |
基本は hl を使用してください。なお、lh を指定した要素の子孫では hl の指定は効きません。
トークン
--hl にセットする値として --hl--xs〜--hl--xl、--lh にセットする値として --lh--xs〜--lh--xl のトークンを用意しています。一覧とプレビューはタイポグラフィトークンの HL / LH を参照してください。
Lism CSS で使用するフォントファミリー、フォントサイズ、行間などのタイポグラフィ関連のデザイントークンについて解説します。