Skip to main content


Specify a list of disallowed pseudo-element selectors.

  a::before {}
/** ↑
* This pseudo-element selector */

This rule ignores:

  • CSS2 pseudo-elements i.e. those prefixed with a single colon
  • selectors that use variable interpolation e.g. ::#{$variable} {}

The message secondary option can accept the arguments of this rule.


array|string|regex: ["array", "of", "unprefixed", /pseudo-elements/, "/regex/"]|"pseudo-element"|"/regex/"|/regex/


["before", "/^--my-/i"]

The following patterns are considered problems:

a::before {}
a::--my-pseudo-element {}
a::--MY-OTHER-pseudo-element {}

The following patterns are not considered problems:

a::after {}
a::--not-my-pseudo-element {}