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

selector-max-type

セレクター内のタイプセレクターの数を制限します。

    a {}
/** ↑
* This type of selector */

このルールは、タイプセレクターの数を数える前に、ネストされたセレクターを解決します。 セレクターリストの各セレクターは個別に評価されます。

:not() 疑似クラスも個別に評価されます。ルールは、引数を独立したセレクターであるかのように処理し、結果はセレクター全体の合計にはカウントされません。

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

オプション

int: 許可されるタイプセレクターの最大数。

たとえば、2 の場合

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

div a span {}
div a {
& span {}
}
div a {
& > a {}
}

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

div {}
div a {}
.foo div a {}
div.foo a {}
/* each selector in a selector list is evaluated separately */
div,
a span {}
/* `span` is inside `:not()`, so it is evaluated separately */
div a .foo:not(span) {}

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

ignore: ["child", "compounded", "custom-elements", "descendant", "next-sibling"]

"child"

子タイプのセレクターを無視します。

たとえば、2 の場合

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

div span > a {}
#bar div span > a {}

"compounded"

複合タイプのセレクター、つまり他のセレクターとチェーンされたタイプセレクターを無視します。

たとえば、2 の場合

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

div span a.foo {}
div span a#bar {}

"custom-elements"

カスタム要素を無視します。

たとえば、2 の場合

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

div a foo-bar {}

"descendant"

子孫タイプのセレクターを無視します。

たとえば、2 の場合

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

.foo div span a {}
#bar div span a {}

"next-sibling"

次の兄弟タイプのセレクターを無視します。

たとえば、2 の場合

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

div a + span {}
#bar + div + span + a + span {}

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

与えられた

["/^my-/", "custom"]

たとえば、2 の場合。

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

div a custom {}
div a my-type {}
div a my-other-type {}