selector-max-id
限制选择器中 ID 选择器的数量。
#foo {}
/** ↑
* This type of selector */
此规则在计算 ID 选择器数量之前解析嵌套选择器。 选择器列表 中的每个选择器都单独评估。
:not()
伪类也单独评估。该规则处理参数,就好像它是一个独立的选择器一样,结果不会计入整个选择器的总数。
message
次要选项 可以接受此规则的参数。
选项
int
: 允许的最大通用选择器数量。
例如,使用 2
以下模式被视为问题
#foo #bar #baz {}
#foo #bar {
& #baz {}
}
#foo #bar {
& > #bar {}
}
以下模式不被视为问题
#foo {}
#foo #bar {}
.foo #foo {}
#foo.foo #bar {}
/* each selector in a selector list is evaluated separately */
#foo,
#baz #quux {}
/* `#bar` is inside `:not()`, so it is evaluated separately */
#foo #bar:not(#baz) {}
可选的次要选项
checkContextFunctionalPseudoClasses: ["/regex/", /regex/, "non-regex"]
检查指定自定义 功能性伪类 内部的选择器,这些伪类提供 评估上下文。
此选项的优先级高于 ignoreContextFunctionalPseudoClasses
。
鉴于
[":--foo"]
以下模式被视为问题
:--foo(#foo #bar #baz) {}
以下模式不被视为问题
:--foo() {}
ignoreContextFunctionalPseudoClasses: ["/regex/", /regex/, "non-regex"]
忽略指定 功能性伪类 内部的选择器,这些伪类提供 评估上下文。
鉴于
[":not", "/^:(h|H)as$/"]
以下模式被视为问题
a:is(#foo) {}
以下模式不被视为问题
a:not(#foo) {}
a:has(#foo) {}