メインコンテンツにスキップ

**セレクターの最大特異度**

セレクターの特異度を制限します。

    .foo, #bar.baz span, #hoo { color: pink; }
/** ↑ ↑ ↑
* Each of these selectors */

セレクター特異度の視覚的表現については、特異度計算機をご覧ください。

このルールは、変数補間(#{$var}@{var}$(var))を含むセレクターを無視します。

このルールは、セレクターの特異度をカウントする前に、ネストされたセレクターを解決します。セレクターリスト内の各セレクターは個別に評価されます。

message セカンダリオプションは、このルールの引数を受け入れることができます。

オプション

string: 許可される最大特異度。

フォーマットは、W3C セレクター仕様に記載されているように、"id,class,type" です。

例えば、"0,2,0" の場合

以下のパターンは問題とみなされます

#foo {}
.foo .baz .bar {}
.foo .baz {
& .bar {}
}
.foo {
color: red;
@nest .baz .bar & {
color: blue;
}
}

以下のパターンは問題とみなされ*ません*

div {}
.foo div {}
.foo div {
& div a {}
}
.foo {
& .baz {}
}
.foo {
color: red;
@nest .baz & {
color: blue;
}
}

オプションのセカンダリオプション

ignoreSelectors: ["/regex/", /regex/, "non-regex"]

指定されている場合

[
"0,2,0",
{
"ignoreSelectors": [":global", ":local", "/^my-/"]
}
]

以下のパターンは問題とみなされ*ません*

:global(.foo) .bar {}
:local(.foo.bar) {}
:local(.foo, :global(.bar).baz) {}
my-element.foo.bar {}

以下のパターンは問題とみなされます

:global(.foo) .bar.baz {}
:local(.foo.bar.baz) {}
:local(.foo, :global(.bar), .foo.bar.baz) {}
my-element.foo.bar.baz {}