Skip to main content

selector-combinator-space-before

Require a single space or disallow whitespace before the combinators of selectors.

a > b + c ~ d e >>> f { color: pink; }
/** โ†‘ โ†‘ โ†‘ โ†‘ โ†‘
* These are combinators */

Combinators are used to combine several different selectors into new and more specific ones. There are several types of combinators, including: child (>), adjacent sibling (+), general sibling (~), and descendant (which is represented by a blank space between two selectors).

The descendant combinator is not checked by this rule.

Also, + and - signs within :nth-*() arguments are not checked (e.g. a:nth-child(2n+1)).

The fix option can automatically fix all of the problems reported by this rule.

Options#

string: "always"|"never"

"always"#

There must always be a single space before the combinators.

The following patterns are considered violations:

a+ b { color: pink; }
a>b { color: pink; }

The following patterns are not considered violations:

a + b { color: pink; }
a >b { color: pink; }

"never"#

There must never be whitespace before the combinators.

The following patterns are considered violations:

a + b { color: pink; }
a >b { color: pink; }

The following patterns are not considered violations:

a+ b { color: pink; }
a>b { color: pink; }