List of rules
The built-in rules help you:
There are also frozen rules that let you address stylistic issues.
Within each cateogory, the rules are grouped by the thing they apply to.
Avoid errors
Annotation
annotation-no-unknown
: Disallow unknown annotations.
Color
color-no-invalid-hex
: Disallow invalid hex colors.
Font family
font-family-no-duplicate-names
: Disallow duplicate font family names.font-family-no-missing-generic-family-keyword
: Disallow missing generic families in lists of font family names.
Named grid areas
named-grid-areas-no-invalid
: Disallow invalid named grid areas.
Function
function-calc-no-unspaced-operator
: Disallow an unspaced operator withincalc
functions (Autofixable).function-linear-gradient-no-nonstandard-direction
: Disallow direction values inlinear-gradient()
calls that are not valid according to the standard syntax.function-no-unknown
: Disallow unknown functions.
String
string-no-newline
: Disallow (unescaped) newlines in strings.
Unit
unit-no-unknown
: Disallow unknown units.
Custom property
custom-property-no-missing-var-function
: Disallow missingvar
function for custom properties.
Property
property-no-unknown
: Disallow unknown properties.
Keyframe declaration
keyframe-declaration-no-important
: Disallow!important
within keyframe declarations.
Keyframe block
keyframe-block-no-duplicate-selectors
: Disallow duplicate selectors within keyframe blocks.
Declaration block
declaration-block-no-duplicate-custom-properties
: Disallow duplicate custom properties within declaration blocks.declaration-block-no-duplicate-properties
: Disallow duplicate properties within declaration blocks.declaration-block-no-shorthand-property-overrides
: Disallow shorthand properties that override related longhand properties.
Block
block-no-empty
: Disallow empty blocks.
Selector
selector-pseudo-class-no-unknown
: Disallow unknown pseudo-class selectors.selector-pseudo-element-no-unknown
: Disallow unknown pseudo-element selectors.selector-type-no-unknown
: Disallow unknown type selectors.
Media feature
media-feature-name-no-unknown
: Disallow unknown media feature names.
At-rule
at-rule-no-unknown
: Disallow unknown at-rules.
Comment
comment-no-empty
: Disallow empty comments.
General / Sheet
no-descending-specificity
: Disallow selectors of lower specificity from coming after overriding selectors of higher specificity.no-duplicate-at-import-rules
: Disallow duplicate@import
rules within a stylesheet.no-duplicate-selectors
: Disallow duplicate selectors within a stylesheet.no-empty-source
: Disallow empty sources.no-invalid-double-slash-comments
: Disallow double-slash comments (//...
) which are not supported by CSS.no-invalid-position-at-import-rule
: Disallow invalid position@import
rules within a stylesheet.
Enforce conventions
Alpha-value
alpha-value-notation
: Specify percentage or number notation for alpha-values (Autofixable).
Hue
hue-degree-notation
: Specify number or angle notation for degree hues (Autofixable).
Color
color-function-notation
: Specify modern or legacy notation for applicable color-functions (Autofixable).color-hex-alpha
: Require or disallow alpha channel for hex colors.color-hex-length
: Specify short or long notation for hex colors (Autofixable).color-named
: Require (where possible) or disallow named colors.color-no-hex
: Disallow hex colors.
Length
length-zero-no-unit
: Disallow units for zero lengths (Autofixable).
Font family
font-family-name-quotes
: Specify whether or not quotation marks should be used around font family names (Autofixable).
Font weight
font-weight-notation
: Require numeric or named (where possible)font-weight
values. Also, when named values are expected, require only valid names.
Function
function-allowed-list
: Specify a list of allowed functions.function-disallowed-list
: Specify a list of disallowed functions.function-url-no-scheme-relative
: Disallow scheme-relative urls.function-url-quotes
: Require or disallow quotes for urls.function-url-scheme-allowed-list
: Specify a list of allowed URL schemes.function-url-scheme-disallowed-list
: Specify a list of disallowed URL schemes.
Imports
import-notation
: Specify string or URL notation for@import
rules (Autofixable).
Keyframe selector
keyframe-selector-notation
: Specify keyword or percentage notation for keyframe selectors (Autofixable).
Keyframes
keyframes-name-pattern
: Specify a pattern for keyframe names.
Number
number-max-precision
: Limit the number of decimal places allowed in numbers.
Time
time-min-milliseconds
: Specify the minimum number of milliseconds for time values.
Unit
unit-allowed-list
: Specify a list of allowed units.unit-disallowed-list
: Specify a list of disallowed units.
Shorthand property
shorthand-property-no-redundant-values
: Disallow redundant values in shorthand properties (Autofixable).
Value
value-no-vendor-prefix
: Disallow vendor prefixes for values (Autofixable).
Custom property
custom-property-pattern
: Specify a pattern for custom properties.
Property
property-allowed-list
: Specify a list of allowed properties.property-disallowed-list
: Specify a list of disallowed properties.property-no-vendor-prefix
: Disallow vendor prefixes for properties (Autofixable).
Declaration
declaration-no-important
: Disallow!important
within declarations.declaration-property-max-values
: Limit the number of values for a list of properties within declarations.declaration-property-unit-allowed-list
: Specify a list of allowed property and unit pairs within declarations.declaration-property-unit-disallowed-list
: Specify a list of disallowed property and unit pairs within declarations.declaration-property-value-allowed-list
: Specify a list of allowed property and value pairs within declarations.declaration-property-value-disallowed-list
: Specify a list of disallowed property and value pairs within declarations.
Declaration block
declaration-block-no-redundant-longhand-properties
: Disallow longhand properties that can be combined into one shorthand property.declaration-block-single-line-max-declarations
: Limit the number of declarations within a single-line declaration block.
Selector
selector-attribute-name-disallowed-list
: Specify a list of disallowed attribute names.selector-attribute-operator-allowed-list
: Specify a list of allowed attribute operators.selector-attribute-operator-disallowed-list
: Specify a list of disallowed attribute operators.selector-attribute-quotes
: Require or disallow quotes for attribute values (Autofixable).selector-class-pattern
: Specify a pattern for class selectors.selector-combinator-allowed-list
: Specify a list of allowed combinators.selector-combinator-disallowed-list
: Specify a list of disallowed combinators.selector-disallowed-list
: Specify a list of disallowed selectors.selector-id-pattern
: Specify a pattern for ID selectors.selector-max-attribute
: Limit the number of attribute selectors in a selector.selector-max-class
: Limit the number of classes in a selector.selector-max-combinators
: Limit the number of combinators in a selector.selector-max-compound-selectors
: Limit the number of compound selectors in a selector.selector-max-id
: Limit the number of ID selectors in a selector.selector-max-pseudo-class
: Limit the number of pseudo-classes in a selector.selector-max-specificity
: Limit the specificity of selectors.selector-max-type
: Limit the number of type in a selector.selector-max-universal
: Limit the number of universal selectors in a selector.selector-nested-pattern
: Specify a pattern for the selectors of rules nested within rules.selector-no-qualifying-type
: Disallow qualifying a selector by type.selector-no-vendor-prefix
: Disallow vendor prefixes for selectors (Autofixable).selector-not-notation
: Specify simple or complex notation for:not()
pseudo-classes (Autofixable).selector-pseudo-class-allowed-list
: Specify a list of allowed pseudo-class selectors.selector-pseudo-class-disallowed-list
: Specify a list of disallowed pseudo-class selectors.selector-pseudo-element-allowed-list
: Specify a list of allowed pseudo-element selectors.selector-pseudo-element-colon-notation
: Specify single or double colon notation for applicable pseudo-elements (Autofixable).selector-pseudo-element-disallowed-list
: Specify a list of disallowed pseudo-element selectors.
Rules
rule-selector-property-disallowed-list
: Specify a list of disallowed properties for selectors within rules.
Media feature
media-feature-name-allowed-list
: Specify a list of allowed media feature names.media-feature-name-disallowed-list
: Specify a list of disallowed media feature names.media-feature-name-no-vendor-prefix
: Disallow vendor prefixes for media feature names (Autofixable).media-feature-name-value-allowed-list
: Specify a list of allowed media feature name and value pairs.
Custom media
custom-media-pattern
: Specify a pattern for custom media query names.
At-rule
at-rule-allowed-list
: Specify a list of allowed at-rules.at-rule-disallowed-list
: Specify a list of disallowed at-rules.at-rule-no-vendor-prefix
: Disallow vendor prefixes for at-rules (Autofixable).at-rule-property-required-list
: Specify a list of required properties for an at-rule.
Comment
comment-pattern
: Specify a pattern for comments.comment-word-disallowed-list
: Specify a list of disallowed words within comments.
General / Sheet
max-nesting-depth
: Limit the depth of nesting.no-irregular-whitespace
: Disallow irregular whitespace.no-unknown-animations
: Disallow unknown animations.unicode-bom
: Require or disallow Unicode BOM.
Stylistic issues
We have frozen these rules — we won't fix bugs nor add options, and we will deprecate then remove them in future releases. We recommend you use a pretty printer (like Prettier) alongside Stylelint rather than these rules. If you prefer to use Stylelint to enforce stylistic consistency, you can migrate the rules you need to a plugin.
Not handled by pretty printers
Value
value-keyword-case
: Specify lowercase or uppercase for keywords values (Autofixable).
Function
function-name-case
: Specify lowercase or uppercase for function names (Autofixable).
Custom property
custom-property-empty-line-before
: Require or disallow an empty line before custom properties (Autofixable).
Selector
selector-type-case
: Specify lowercase or uppercase for type selectors (Autofixable).
Rule
rule-empty-line-before
: Require or disallow an empty line before rules (Autofixable).
At-rule
at-rule-empty-line-before
: Require or disallow an empty line before at-rules (Autofixable).
Comment
comment-empty-line-before
: Require or disallow an empty line before comments (Autofixable).comment-whitespace-inside
: Require or disallow whitespace on the inside of comment markers (Autofixable).
Handled by pretty printers
Color
color-hex-case
: Specify lowercase or uppercase for hex colors (Autofixable).
Function
function-comma-newline-after
: Require a newline or disallow whitespace after the commas of functions (Autofixable).function-comma-newline-before
: Require a newline or disallow whitespace before the commas of functions (Autofixable).function-comma-space-after
: Require a single space or disallow whitespace after the commas of functions (Autofixable).function-comma-space-before
: Require a single space or disallow whitespace before the commas of functions (Autofixable).function-max-empty-lines
: Limit the number of adjacent empty lines within functions (Autofixable).function-parentheses-newline-inside
: Require a newline or disallow whitespace on the inside of the parentheses of functions (Autofixable).function-parentheses-space-inside
: Require a single space or disallow whitespace on the inside of the parentheses of functions (Autofixable).function-whitespace-after
: Require or disallow whitespace after functions (Autofixable).
Number
number-leading-zero
: Require or disallow a leading zero for fractional numbers less than 1 (Autofixable).number-no-trailing-zeros
: Disallow trailing zeros in numbers (Autofixable).
String
string-quotes
: Specify single or double quotes around strings (Autofixable).
Unit
unit-case
: Specify lowercase or uppercase for units (Autofixable).
Value list
value-list-comma-newline-after
: Require a newline or disallow whitespace after the commas of value lists (Autofixable).value-list-comma-newline-before
: Require a newline or disallow whitespace before the commas of value lists.value-list-comma-space-after
: Require a single space or disallow whitespace after the commas of value lists (Autofixable).value-list-comma-space-before
: Require a single space or disallow whitespace before the commas of value lists (Autofixable).value-list-max-empty-lines
: Limit the number of adjacent empty lines within value lists (Autofixable).
Property
property-case
: Specify lowercase or uppercase for properties (Autofixable).
Declaration
declaration-bang-space-after
: Require a single space or disallow whitespace after the bang of declarations (Autofixable).declaration-bang-space-before
: Require a single space or disallow whitespace before the bang of declarations (Autofixable).declaration-colon-newline-after
: Require a newline or disallow whitespace after the colon of declarations (Autofixable).declaration-colon-space-after
: Require a single space or disallow whitespace after the colon of declarations (Autofixable).declaration-colon-space-before
: Require a single space or disallow whitespace before the colon of declarations (Autofixable).declaration-empty-line-before
: Require or disallow an empty line before declarations (Autofixable).
Declaration block
declaration-block-semicolon-newline-after
: Require a newline or disallow whitespace after the semicolons of declaration blocks (Autofixable).declaration-block-semicolon-newline-before
: Require a newline or disallow whitespace before the semicolons of declaration blocks.declaration-block-semicolon-space-after
: Require a single space or disallow whitespace after the semicolons of declaration blocks (Autofixable).declaration-block-semicolon-space-before
: Require a single space or disallow whitespace before the semicolons of declaration blocks (Autofixable).declaration-block-trailing-semicolon
: Require or disallow a trailing semicolon within declaration blocks (Autofixable).
Block
block-closing-brace-empty-line-before
: Require or disallow an empty line before the closing brace of blocks (Autofixable).block-closing-brace-newline-after
: Require a newline or disallow whitespace after the closing brace of blocks (Autofixable).block-closing-brace-newline-before
: Require a newline or disallow whitespace before the closing brace of blocks (Autofixable).block-closing-brace-space-after
: Require a single space or disallow whitespace after the closing brace of blocks.block-closing-brace-space-before
: Require a single space or disallow whitespace before the closing brace of blocks (Autofixable).block-opening-brace-newline-after
: Require a newline after the opening brace of blocks (Autofixable).block-opening-brace-newline-before
: Require a newline or disallow whitespace before the opening brace of blocks (Autofixable).block-opening-brace-space-after
: Require a single space or disallow whitespace after the opening brace of blocks (Autofixable).block-opening-brace-space-before
: Require a single space or disallow whitespace before the opening brace of blocks (Autofixable).
Selector
selector-attribute-brackets-space-inside
: Require a single space or disallow whitespace on the inside of the brackets within attribute selectors (Autofixable).selector-attribute-operator-space-after
: Require a single space or disallow whitespace after operators within attribute selectors (Autofixable).selector-attribute-operator-space-before
: Require a single space or disallow whitespace before operators within attribute selectors (Autofixable).selector-combinator-space-after
: Require a single space or disallow whitespace after the combinators of selectors (Autofixable).selector-combinator-space-before
: Require a single space or disallow whitespace before the combinators of selectors (Autofixable).selector-descendant-combinator-no-non-space
: Disallow non-space characters for descendant combinators of selectors (Autofixable).selector-max-empty-lines
: Limit the number of adjacent empty lines within selectors (Autofixable).selector-pseudo-class-case
: Specify lowercase or uppercase for pseudo-class selectors (Autofixable).selector-pseudo-class-parentheses-space-inside
: Require a single space or disallow whitespace on the inside of the parentheses within pseudo-class selectors (Autofixable).selector-pseudo-element-case
: Specify lowercase or uppercase for pseudo-element selectors (Autofixable).
Selector list
selector-list-comma-newline-after
: Require a newline or disallow whitespace after the commas of selector lists (Autofixable).selector-list-comma-newline-before
: Require a newline or disallow whitespace before the commas of selector lists (Autofixable).selector-list-comma-space-after
: Require a single space or disallow whitespace after the commas of selector lists (Autofixable).selector-list-comma-space-before
: Require a single space or disallow whitespace before the commas of selector lists (Autofixable).
Media feature
media-feature-colon-space-after
: Require a single space or disallow whitespace after the colon in media features (Autofixable).media-feature-colon-space-before
: Require a single space or disallow whitespace before the colon in media features (Autofixable).media-feature-name-case
: Specify lowercase or uppercase for media feature names (Autofixable).media-feature-parentheses-space-inside
: Require a single space or disallow whitespace on the inside of the parentheses within media features (Autofixable).media-feature-range-operator-space-after
: Require a single space or disallow whitespace after the range operator in media features (Autofixable).media-feature-range-operator-space-before
: Require a single space or disallow whitespace before the range operator in media features (Autofixable).
Media query list
media-query-list-comma-newline-after
: Require a newline or disallow whitespace after the commas of media query lists (Autofixable).media-query-list-comma-newline-before
: Require a newline or disallow whitespace before the commas of media query lists.media-query-list-comma-space-after
: Require a single space or disallow whitespace after the commas of media query lists (Autofixable).media-query-list-comma-space-before
: Require a single space or disallow whitespace before the commas of media query lists (Autofixable).
At-rule
at-rule-name-case
: Specify lowercase or uppercase for at-rules names (Autofixable).at-rule-name-newline-after
: Require a newline after at-rule names.at-rule-name-space-after
: Require a single space after at-rule names (Autofixable).at-rule-semicolon-newline-after
: Require a newline after the semicolon of at-rules (Autofixable).at-rule-semicolon-space-before
: Require a single space or disallow whitespace before the semicolons of at-rules.
General / Sheet
indentation
: Specify indentation (Autofixable).linebreaks
: Specify unix or windows linebreaks (Autofixable).max-empty-lines
: Limit the number of adjacent empty lines (Autofixable).max-line-length
: Limit the length of a line.no-eol-whitespace
: Disallow end-of-line whitespace (Autofixable).no-missing-end-of-source-newline
: Disallow missing end-of-source newlines (Autofixable).no-empty-first-line
: Disallow empty first lines (Autofixable).no-extra-semicolons
: Disallow extra semicolons (Autofixable).