跳至主要內容

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