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 withincalcfunctions (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 missingvarfunction for custom properties.
Property
property-no-unknown: Disallow unknown properties.
Keyframe declaration
keyframe-declaration-no-important: Disallow!importantwithin 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@importrules 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@importrules 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-weightvalues. 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@importrules (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!importantwithin 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).