--- title: '::first-letter (:first-letter)' slug: 'Web/CSS/::first-letter' tags: - CSS - Layout - Pseudo-element - Reference - Selector translation_of: 'Web/CSS/::first-letter' ---
::first-letter
は CSS の擬似要素で、ブロックレベル要素の最初の行の最初の文字にスタイルを適用します。ただし、最初の文字より前に他のコンテンツ (画像やインラインテーブルなど) がないときに限ります。
/* <p> の最初の文字を選択します */ p::first-letter { font-size: 130%; }
要素の最初の文字は、常に単純に識別できるとは限りません。
IJ
などです。この場合、連字の両方の文字が ::first-letter
擬似要素で選択されます (これについてのブラウザーの互換性はあまりありません。ブラウザーの互換性をご覧ください)。::first-letter
は生成されたこのコンテンツの最初の文字に一致します。CSS3 では擬似クラスと擬似要素を見分けやすくするために、 ::first-letter
の表記法(二重コロン付き)が導入されました。ブラウザーでは CSS2 で導入された :first-letter
も使用できます。
::first-letter
擬似要素では、一部の CSS プロパティのみが利用できます。
float
が none
の場合のみ) の CSS プロパティこの例では、 ::first-letter
疑似要素を使用して、 <h2>
の直後の段落の最初の文字にドロップキャップ効果を作成します。
<h2>My heading</h2> <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est.</p> <p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.</p>
p { width: 500px; line-height: 1.5; } h2 + p::first-letter { color: white; background-color: black; border-radius: 2px; box-shadow: 3px 3px 0 red; font-size: 250%; padding: 6px 3px; margin-right: 6px; float: left; }
{{ EmbedLiveSample('Simple_drop_cap', '100%', 350) }}
この例では、特殊な区切り文字や非ラテン文字に対する ::first-letter
の効果を説明しています。
<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.</p> <p>-The beginning of a special punctuation mark.</p> <p>_The beginning of a special punctuation mark.</p> <p>"The beginning of a special punctuation mark.</p> <p>'The beginning of a special punctuation mark.</p> <p>*The beginning of a special punctuation mark.</p> <p>#The beginning of a special punctuation mark.</p> <p>「先頭の特殊区切り記号です。</p> <p>《先頭の特殊区切り記号です。</p> <p>“先頭の特殊区切り記号です。</p>
p::first-letter { color: red; font-size: 150%; }
{{ EmbedLiveSample('Effect_on_special_punctuation_and_non-Latin_characters', '100%', 350) }}
仕様書 | 状態 | 備考 |
---|---|---|
{{ SpecName('CSS4 Pseudo-Elements', '#first-letter-pseudo', '::first-letter')}} | {{ Spec2('CSS4 Pseudo-Elements')}} | 利用できるプロパティを組版、文字装飾、インライン配置、 {{ cssxref("opacity") }}、 {{ cssxref("box-shadow") }} に一般化。 |
{{ SpecName('CSS3 Text Decoration', '#text-shadow-property', 'text-shadow with ::first-letter')}} | {{ Spec2('CSS3 Text Decoration')}} | ::first-letter で {{cssxref("text-shadow")}} が使用できるようになった。 |
{{ SpecName('CSS3 Selectors', '#first-letter', '::first-letter') }} | {{ Spec2('CSS3 Selectors') }} | 擬似要素用の二重コロン構文の導入。リスト項目での使用時やや特定言語向け(例えばオランダ語の連字 IJ )など、特殊な場合の挙動の定義。 |
{{ SpecName('CSS2.1', 'selector.html#first-letter', '::first-letter') }} | {{ Spec2('CSS2.1') }} | 変更なし。 |
{{ SpecName('CSS1', '#the-first-letter-pseudo-element', '::first-letter') }} | {{ Spec2('CSS1') }} | 初回定義、単一コロン構文を使用。 |
{{Compat("css.selectors.first-letter")}}