跳至主要内容

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 {}