Skip to main content

rule-empty-line-before

Require or disallow an empty line before rules.

a {}
/* ← */
b {} /* ↑ */
/** ↑
* This line */

This rule ignores rules that are the very first node in a source.

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

Options

string: "always"|"never"|"always-multi-line"|"never-multi-line"

"always"

There must always be an empty line before rules.

The following patterns are considered problems:

a {} b {}
a {}
b {}

The following patterns are not considered problems:

a {}

b {}

"never"

There must never be an empty line before rules.

The following patterns are considered problems:

a {}

b {}

The following patterns are not considered problems:

a {} b {}
a {}
b {}

"always-multi-line"

There must always be an empty line before multi-line rules.

The following patterns are considered problems:

a {
color: red;
}
b {
color: blue;
}

The following patterns are not considered problems:

a {
color: red;
}

b {
color: blue;
}

"never-multi-line"

There must never be an empty line before multi-line rules.

The following patterns are considered problems:

a {
color: red;
}

b {
color: blue;
}

The following patterns are not considered problems:

a {
color: red;
}
b {
color: blue;
}

Optional secondary options

except: ["after-rule", "after-single-line-comment", "inside-block-and-after-rule", "inside-block", "first-nested"]

"after-rule"

Reverse the primary option for rules that follow another rule.

For example, with "always":

The following patterns are considered problems:

a {}

b {}

The following patterns are not considered problems:

a {}
b {}

"after-single-line-comment"

Reverse the primary option for rules that follow a single-line comment.

For example, with "always":

The following patterns are considered problems:

/* comment */

a {}

The following patterns are not considered problems:

/* comment */
a {}

"inside-block-and-after-rule"

Reverse the primary option for rules that are inside a block and follow another rule.

For example, with "always":

The following patterns are considered problems:

@media {

a {}

b {}
}

The following patterns are not considered problems:

@media {

a {}
b {}
}

"inside-block"

Reverse the primary option for rules that are inside a block.

For example, with "always":

The following patterns are considered problems:

a {
color: red;

& b {
color: blue;
}
}

The following patterns are not considered problems:

a {
color: red;
& b {
color: blue;
}
}

"first-nested"

Reverse the primary option for rules that are nested and the first child of their parent node.

For example, with "always":

The following patterns are considered problems:

@media {

a {}

b {}
}

The following patterns are not considered problems:

@media {
a {}

b {}
}

ignore: ["after-comment", "first-nested", "inside-block"]

"after-comment"

Ignore rules that follow a comment.

For example, with "always":

The following patterns are not considered problems:

/* comment */
a {}

"first-nested"

Ignore rules that are nested and the first child of their parent node.

For example, with "always":

The following patterns are not considered problems:

@media {
a {}

b {}
}

"inside-block"

Ignore rules that are inside a block.

For example, with "always":

The following patterns are not considered problems:

@media {
a {}
}
@media {
a {}
b {}
}