first-letterが効かないとき。覚えると便利なCSS擬似要素。 / いがわ

.

Memo

CSS first-letterが効かないとき。Webデザイン。

CSS擬似要素のfirst-letter。

first-letterは、最初の一文字という意味。

::first-letter

「first-letter」を日本語にすると、そのまま「最初の一文字」となる。

Webデザインをしているとき、その「最初の一文字」だけのデザインを変えたいときがある。

最初の一文字だけデザインを変えたい。

例えば見出しの最初の一文字の色を変えたい、段落の最初の一文字を大きくしたい、英文の最初の一文字を大文字にしたいときがある。

そんなときに便利なのが、CSSの擬似要素「::first-letter」。


first-letterの使い方。

::first-letterの指定は簡単。

HTML
<blockquote>
<p class="example">わたくしといふ現象は<br>
仮定された有機交流電燈の<br>
ひとつの青い照明です<br>
(あらゆる透明な幽霊の複合体)<br>
風景やみんなといつしよに<br>
せはしくせはしく明滅しながら<br>
いかにもたしかにともりつづける<br>
因果交流電燈の<br>
ひとつの青い照明です<br>
(ひかりはたもち その電燈は失はれ)
...</p>
</blockquote>
CSS
blockquote {
 position: relative;
 display: inline-block;
}
blockquote::before,
blockquote::after {
 content: """;
}
.example::first-letter {
 font-size: 150%;
}
結果。

わたくしといふ現象は
仮定された有機交流電燈の
ひとつの青い照明です
(あらゆる透明な幽霊の複合体)
風景やみんなといつしよに
せはしくせはしく明滅しながら
いかにもたしかにともりつづける
因果交流電燈の
ひとつの青い照明です
(ひかりはたもち その電燈は失はれ)

宮沢賢治「春と修羅」より抜粋。


first-letterが効かないとき。

::first-letterを指定しているのに、効かない。

効かなときに想定される原因。

基本的に「::first-letter」は、対象がブロックレベル要素でなければ効かない。

  • 対象の要素に「display: flex」を指定している。
  • 対象の要素に「display: grid」を指定している。
  • 「span」タグや「a」タグなど、インライン要素に指定している。
  • 「table」や、table関連の「tr」「th」「td」に指定している。
  • など。

「table」は、ブロックレベル要素だが、主に表形式のデータの構造とレイアウトを維持するために、一般的なブロックレベルの要素とは異なる方法で処理される。

::first-letterは、「::before」にも適用される。

「::first-letter」は、同じく擬似要素の「::before」にも適用される。そのため、例えば「数字」や「引用符」などが「::before」によって指定されていた場合、最初の「文字」ではなく、「数字」や「引用符」が「::first-letter」の対象となる。

Webデザインでfirst-letterが効かないときの猫ちゃん。

以上、参考になれば幸いです。


Webデザインは実務数年、職業訓練校講師数年、フリーランス数年、計15年以上のキャリアがありますが、一気にがぁっと書いているので「です・ます調」ではありません。(元々はメモ書きでした。) 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ訂正いたします。 写真は主にUnsplashPixabayのフリー素材を利用させていただいております。その他の写真や動画もフリー素材やパブリックドメイン、もしくは自前のものを使用しております。

井川 宜久 / Norihisa Igawa
デザイナー、ディレクター、講師、コーチ / 井川宜久

CSS 関連メモ。


免責事項について

  • 記事ページ(Memosのページ)は当初は文字通りメモ書きでした。その後、修正や更新をしております。
  • 事実や経験、調査や検証を基にしていますが、万一なにかしら不備・不足などがありましたらすみません。お知らせいただければ早急に対応いたします。
  • 一個人のポートフォリオサイトですので、万一損害・トラブル等が発生した場合でも、一切の責任を負いかねます。