【:is(a, b, c)】CSSセレクタで複数条件を短く指定する
説明
※説明の為に単純化してるので意味はありません。:nth-child
とかは使いません。
<ul class="parent-1">
<li class="child-1">a</li>
<li class="child-2">b</li>
<li class="child-3">c</li>
</ul>
<ul class="parent-2">
<li class="child-1">a</li>
<li class="child-2">b</li>
<li class="child-3">c</li>
</ul>
このparent-1
以下のchild-1
, child-2
だけ指定したいとする。
コンマで複数要素を指定できるが、↓のように書くとparent-2
のchild-2
まで指定されてしまう。
.parent-1 .child-1, .child-2 {
color: orange;
}
なので、このように書かなきゃいけない。
2個だからまだいいけど増やせば増やすほど行が増える。
.parent-1 .child-1,
.parent-1 .child-2 {
color: orange;
}
:is(a, b, c)
.parent-1 :is(.child-1, .child-2)) {
color: orange;
}
.parent-1 :is(.child-1, .child-2)) {
color: orange;
}
.parent-1
以下の.child-1
と.child-2
だけ色が変わりましたね。
Chrome 88から使えるらしい。
(本当は:not(:not(a))
とかいう頭おかしいことドヤ顔で書いてたんだけどコメントで:is()
を教えていただきました。ありがとうございます。死にたい。)
Author And Source
この問題について(【:is(a, b, c)】CSSセレクタで複数条件を短く指定する), 我々は、より多くの情報をここで見つけました https://qiita.com/zakuroishikuro/items/294fe1a81e6d87d182fd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .