表題の通りです。
同じクラス名の中で擬似クラスを指定した所、
思った通りの挙動にならなかったため下記のようにテストをしました。
■ベース
<p class="aaa">1番目</p> <p class="aaa">2番目</p> <p class="aaa">3番目</p> p:first-of-type{ color:red; } → 1番目が赤 p.aaa:first-of-type{ color:red; } → 1番目が赤
■ベースの上にイレギュラーな要素を追加
<p>イレギュラー(追加)</p> <p class="aaa">1番目</p> <p class="aaa">2番目</p> <p class="aaa">3番目</p> p:first-of-type{ color:red; } → イレギュラーが赤 p.aaa:first-of-type{ color:red; } → 赤になるものは無し ※p.aaa:first-of-type を下記2点に変えてみても結果は同じでした。 ・p.aaa:nth-of-type(1){ color:red; } ・p[class="aaa"]:first-of-type{ color:red; }
■結果と実現したいこと
理想 → class名[aaa]の中の1番目が赤くなる
実際 → class名[aaa]、なおかつ 要素の1番目じゃないと赤くならない
class名が無視されているのかと思いきや、
イレギュラーが入った方でclass名と疑似クラスを両方指定した場合は赤くなるのが無い状態です。
実務でイレギュラーのように同じ要素(違うclass名)が一番上に追加されることがあるため困っているのですが、
理想の「class名aaaの中の1番目が赤くなる」という挙動をcssのみで制御するのは無理なのでしょうか?
ご教示の程よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/13 02:29 編集
2020/04/13 04:26