selector-max-id
Limit the number of ID selectors in a selector.
#foo {}/** โ * This type of selector */
This rule resolves nested selectors before counting the number of ID selectors. Each selector in a selector list is evaluated separately.
The :not()
pseudo-class is also evaluated separately. The rule processes the argument as if it were an independent selector, and the result does not count toward the total for the entire selector.
#
Optionsint
: Maximum universal selectors allowed.
For example, with 2
:
The following patterns are considered problems:
#foo #bar #baz {}
#foo #bar { & #baz {}}
#foo #bar { & > #bar {}}
The following patterns are not considered problems:
#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) {}
ignoreContextFunctionalPseudoClasses: ["/regex/", /regex/, "non-regex"]
#
Ignore selectors inside of specified functional pseudo-classes that provide evaluation contexts.
Given:
[":not", "/^:(h|H)as$/"]
The following patterns are considered problems:
a:matches(#foo) {}
While the following patters are not considered problems:
a:not(#foo) {}
a:has(#foo) {}