stylelint
Version:
A mighty, modern CSS linter.
70 lines (45 loc) • 1.48 kB
Markdown
# selector-combinator-space-before
Require a single space or disallow whitespace before the combinators of selectors.
```css
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](../../../docs/user-guide/usage/options.md#fix) 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:
```css
a+ b { color: pink; }
```
```css
a>b { color: pink; }
```
The following patterns are *not* considered violations:
```css
a + b { color: pink; }
```
```css
a >b { color: pink; }
```
### `"never"`
There *must never* be whitespace before the combinators.
The following patterns are considered violations:
```css
a + b { color: pink; }
```
```css
a >b { color: pink; }
```
The following patterns are *not* considered violations:
```css
a+ b { color: pink; }
```
```css
a>b { color: pink; }
```