ゆとりニートの日記

理系院卒⇛就職⇛1年で退社。ノースキルでノージョブなゆとり世代ニートの日記。

cssの:first-letterが効かなかったので原因を調べた

最初の文字に擬似要素で装飾が施せる「:first-letter」。

段落の一文字目だけ文字を大きくしたり、タイトルの一文字目だけ背景色を変えたりするときに便利なcssセレクタのひとつだ。

今日、このfirst-letterを使おうとしたら、何故か効かなかった。

原因はとっても単純で同じ要素にbefore:を使っていたから。

ちなみにこんな風にして使っていた。

【HTML】

<p class="classA classB">テキスト</p>

 

css

.classA:first-letter{

    color="red";

}

.classB:before{

    content="";

    background:url();

    ....

}

違うクラスでそれぞれ指定しているのにかかわらず、このbeforeが同じ要素にあると、beforeのcontent内を1文字目として認識される。

しかも、classBの記述が後にも関わらず。

もし、

.classB:before{

    content="あいうえお";

    background:url();

    ....

}

であれば、「あいうえお」の「あ」のみが赤くなる。

自分は、content=""と空にしていたので、これに気づくのに小一時間嵌ってしまった。

 

似たようなことでつまずいている人の助けになれば。