跳至主要內容

選擇器最大屬性

限制選擇器中屬性選擇器的數量。

    [rel="external"] {}
/** ↑
* This type of selector */

此規則會在計算屬性選擇器數量之前解析巢狀選擇器。選擇器清單中的每個選擇器會個別評估。

:not() 偽類別也會個別評估。此規則會處理參數,就像它是獨立的選擇器,而結果不會計算在整個選擇器的總數中。

message 次要選項可以接受此規則的參數。

選項

int:允許的最大屬性選擇器。

例如,使用 2

以下模式被視為問題

[type="number"][name="quality"][data-attribute="value"] {}
[type="number"][name="quality"][disabled] {}
[type="number"][name="quality"] {
& [data-attribute="value"] {}
}
[type="number"][name="quality"] {
& [disabled] {}
}
[type="number"][name="quality"] {
& > [data-attribute="value"] {}
}
/* `[type="text"][data-attribute="value"][disabled]` is inside `:not()`, so it is evaluated separately */
input:not([type="text"][data-attribute="value"][disabled]) {}

以下模式不是問題

[type="text"] {}
[type="text"][name="message"] {}
[type="text"][disabled]
/* each selector in a selector list is evaluated separately */
[type="text"][name="message"],
[type="number"][name="quality"] {}
/* `[disabled]` is inside `:not()`, so it is evaluated separately */
[type="text"][name="message"]:not([disabled]) {}

選用的次要選項

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

給定

["/^data-my-/", "dir"]

例如,使用 0

以下模式不是問題

[dir] [data-my-attr] {}
[dir] [data-my-other-attr] {}