CSS の ::first-letterとは、選択した要素の最初の文字にスタイルを指定するために使う擬似要素である。
指定した要素タイプの最初の文字
[element][.class]::first-letter {
/* properties */
}
*::first-letter {
color: black;
}
p::first-letter {
color: red;
}
英文でよく行われる最初の1文字を大きくする例を次に示す。
<style>
p.first-paragraph {
font-size: 12pt;
line-height: 1.2
}
p.first-paragraph::first-letter {
font-size: 200%;
font-weight: bold;
float: left
}
</style>
<p class="first-paragraph">
In a hole in the ground there lived a hobbit. Not a nasty, dirty, wet hole, filled with
the ends of worms and an oozy smell, not yet a dry, bare, sandy hole with nothing in it
to site down on or to eat: it was a hobbit-hole, and that means comfort.
</p>
In a hole in the ground there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends of worms and an oozy smell, not yet a dry, bare, sandy hole with nothing in it to site down on or to eat: it was a hobbit-hole, and that means comfort.
指定したIDの要素の最初の文字
#id::first-letter {
/* properties */
}
CSSの疑似クラスと疑似要素を併用する場合、疑似クラスを先に指定する。
疑似クラス(:first-child)と疑似要素(::first-letter)を併用する例を次に示す。
li:first-child::first-letter {
/* properties */
}
<p class="example">と</p> に囲まれた文字列のうち、最初の文字だけを赤色にする例を示す。
p.example::first-line {
color: red;
}
<p class="example">
最初の1文字だけ赤くなります。
</p>
上記のHTMLはウェブ・ブラウザで次のように表示されます。
最初の1文字だけ赤くなります。
テキストの先頭に約物(括弧や句読点など文字以外の記号)が含まれる場合、先頭から約物を除いた最初の1文字目までにスタイルが適用される。
<head>
<style>
p::first-line {
color: red;
}
</style>
</head>
<body>
<p>「最初の1文字だけ赤くなります。」</p>
<p>"Only the first character turns red."</p>
</body>
「最初の1文字だけ赤くなります。」
"Only the first character turns red."
::first-letter擬似要素はブロックレベル要素に対して適用できる。具体的には次の要素である。
CSSプロパティに「display: block;」を指定した要素に対しても::first-letter擬似要素を適用できる。
::first-letter疑似要素では次のプロパティを適用できる。
CSSの疑似要素には次のものがある。