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. We recommend to enable indentation rule for better autofixing results with 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 violations:

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

The following patterns are not considered violations:

a {}
b {}

"never"#

There must never be an empty line before rules.

The following patterns are considered violations:

a {}
b {}

The following patterns are not considered violations:

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

"always-multi-line"#

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

The following patterns are considered violations:

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

The following patterns are not considered violations:

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 violations:

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

The following patterns are not considered violations:

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 violations:

a {}
b {}

The following patterns are not considered violations:

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 violations:

/* comment */
a {}

The following patterns are not considered violations:

/* 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 violations:

@media {
a {}
b {}
}

The following patterns are not considered violations:

@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 violations:

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

The following patterns are not considered violations:

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 violations:

@media {
a {}
b {}
}

The following patterns are not considered violations:

@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 violations:

/* 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 violations:

@media {
a {}
b {}
}

"inside-block"#

Ignore rules that are inside a block.

For example, with "always":

The following patterns are not considered violations:

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