跳到主要內容

選擇器-最大類型

限制選擇器中類型選擇器的數量。

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