letter-spacing
はCSS のプロパティで、テキストの水平方向の字間のスペースに関する挙動を設定します。この値はテキストを描画する際に文字間の自然な空間に追加されます。 letter-spacing
が正の値であった場合は、文字と文字の間が開き、 letter-spacing
が負の値であった場合は、文字と文字が互いに近づきます。
このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。
構文
/* キーワード値 */
letter-spacing: normal;
/* <length> 値 */
letter-spacing: 0.3em;
letter-spacing: 3px;
letter-spacing: .3px;
/* グローバル値 */
letter-spacing: inherit;
letter-spacing: initial;
letter-spacing: unset;
値
normal
- 現在のフォントでの通常の字間になります。
0
の値とは異なり、この値はユーザーエージェントが文字列を両端揃えするために字間を変えることを許可します。 <length>
- 既定の字間に加える字間のスペースを指定します。負の値も指定可能ですが、実装に依存した制限があるかもしれません。ユーザーエージェントは文字列を両端揃えするために、字間スペースをさらに増減させることはありません。
アクセシビリティへの配慮
正と負のどちらでも、大きすぎる値を letter-spacing
に指定すると読みづらくなってしまいます。正の値として大きすぎる場合、文字と文字が離れすぎるせいでひとつの単語ではなくバラバラの文字に見えてしまいます。負の値として大きすぎる場合、文字と文字が重なり合うために何が書いてあるのか分からなくなってしまいます。
フォントの文字幅は種類ごとに異なるため、読みやすい letter-spacing もそれぞれ異なります。すべてのフォントで読みやすさを提供してくれる単一の設定値というものはありません。
公式定義
初期値 | normal |
---|---|
適用対象 | すべての要素。 ::first-letter and ::first-line にも適用されます。 |
継承 | あり |
計算値 | an optimum value consisting of either an absolute length or the keyword normal |
アニメーションの種類 | length |
形式文法
例
字間の設定
HTML
<p class="normal">letter spacing</p>
<p class="em-wide">letter spacing</p>
<p class="em-wider">letter spacing</p>
<p class="em-tight">letter spacing</p>
<p class="px-wide">letter spacing</p>
CSS
.normal { letter-spacing: normal; }
.em-wide { letter-spacing: 0.4em; }
.em-wider { letter-spacing: 1em; }
.em-tight { letter-spacing: -0.05em; }
.px-wide { letter-spacing: 6px; }
結果
仕様書
仕様書 | 状態 | 備考 |
---|---|---|
CSS Text Module Level 3 letter-spacing の定義 |
草案 | 変更なし。 |
CSS Level 2 (Revision 1) letter-spacing の定義 |
勧告 | 変更なし。 |
Scalable Vector Graphics (SVG) 1.1 (Second Edition) letter-spacing の定義 |
勧告 | SVG での初回定義 |
CSS Level 1 letter-spacing の定義 |
勧告 | 初回定義 |
ブラウザーの互換性
BCD tables only load in the browser
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。