There are over one hundred built-in rules to help you:
Many of them are turned on in our recommended (Ⓡ) and standard (Ⓢ) configs.
You can avoid errors with these no
rules.
Disallow descending things with these no-descending
rules.
no-descending-specificity
: Disallow selectors of lower specificity from coming after overriding selectors of higher specificity (Ⓡ & Ⓢ).
Disallow duplicates with these no-duplicate
rules.
declaration-block-no-duplicate-custom-properties
: Disallow duplicate custom properties within declaration blocks (Ⓡ & Ⓢ).declaration-block-no-duplicate-properties
: Disallow duplicate properties within declaration blocks (Autofixable) (Ⓡ & Ⓢ).font-family-no-duplicate-names
: Disallow duplicate names within font families (Ⓡ & Ⓢ).keyframe-block-no-duplicate-selectors
: Disallow duplicate selectors within keyframe blocks (Ⓡ & Ⓢ).no-duplicate-at-import-rules
: Disallow duplicate@import
rules (Ⓡ & Ⓢ).no-duplicate-selectors
: Disallow duplicate selectors (Ⓡ & Ⓢ).
Disallow empty things with these no-empty
rules.
block-no-empty
: Disallow empty blocks (Ⓡ & Ⓢ).comment-no-empty
: Disallow empty comments (Ⓡ & Ⓢ).no-empty-source
: Disallow empty sources (Ⓡ & Ⓢ).
Disallow invalid syntax with these (sometimes implicit) no-invalid
rules.
color-no-invalid-hex
: Disallow invalid hex colors (Ⓡ & Ⓢ).function-calc-no-unspaced-operator
: Disallow invalid unspaced operator withincalc
functions (Autofixable) (Ⓡ & Ⓢ).keyframe-declaration-no-important
: Disallow invalid!important
within keyframe declarations (Ⓡ & Ⓢ).named-grid-areas-no-invalid
: Disallow invalid named grid areas (Ⓡ & Ⓢ).no-invalid-double-slash-comments
: Disallow invalid double-slash comments (Ⓡ & Ⓢ).no-invalid-position-at-import-rule
: Disallow invalid position@import
rules (Ⓡ & Ⓢ).string-no-newline
: Disallow invalid newlines within strings (Ⓡ & Ⓢ).
Disallow irregular things with these no-irregular
rules.
no-irregular-whitespace
: Disallow irregular whitespace (Ⓡ & Ⓢ).
Disallow missing things with these no-missing
rules.
custom-property-no-missing-var-function
: Disallow missingvar
function for custom properties (Ⓡ & Ⓢ).font-family-no-missing-generic-family-keyword
: Disallow a missing generic family keyword within font families (Ⓡ & Ⓢ).
Disallow non-standard things with these no-nonstandard
rules.
function-linear-gradient-no-nonstandard-direction
: Disallow non-standard direction values for linear gradient functions (Ⓡ & Ⓢ).
Disallow overrides with these no-overrides
rules.
declaration-block-no-shorthand-property-overrides
: Disallow shorthand properties that override related longhand properties (Ⓡ & Ⓢ).
Disallow unmatchable things with these no-unmatchable
rules.
selector-anb-no-unmatchable
: Disallow unmatchable An+B selectors (Ⓡ & Ⓢ).
Disallow unknown things with these no-unknown
rules.
annotation-no-unknown
: Disallow unknown annotations (Ⓡ & Ⓢ).at-rule-no-unknown
: Disallow unknown at-rules (Ⓡ & Ⓢ).declaration-property-value-no-unknown
: Disallow unknown values for properties within declarations.function-no-unknown
: Disallow unknown functions (Ⓡ & Ⓢ).media-feature-name-no-unknown
: Disallow unknown media feature names (Ⓡ & Ⓢ).media-feature-name-value-no-unknown
: Disallow unknown values for media features.no-unknown-animations
: Disallow unknown animations.no-unknown-custom-properties
: Disallow unknown custom properties.property-no-unknown
: Disallow unknown properties (Ⓡ & Ⓢ).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 (Ⓡ & Ⓢ).unit-no-unknown
: Disallow unknown units (Ⓡ & Ⓢ).
You can enforce conventions with these no
and list
rules. They are powerful rules for making your code consistent. You'll need to configure most of them to suit your needs.
Allow, disallow or require things with these allowed-list
, disallowed-list
, required-list
and no
rules.
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.
color-hex-alpha
: Require or disallow alpha channel for hex colors.color-named
: Require (where possible) or disallow named colors.color-no-hex
: Disallow hex colors.
comment-word-disallowed-list
: Specify a list of disallowed words within comments.
declaration-no-important
: Disallow!important
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.
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-scheme-allowed-list
: Specify a list of allowed URL schemes.function-url-scheme-disallowed-list
: Specify a list of disallowed URL schemes.
length-zero-no-unit
: Disallow units for zero lengths (Autofixable) (Ⓢ).
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-unit-allowed-list
: Specify a list of allowed name and unit pairs within media features.media-feature-name-value-allowed-list
: Specify a list of allowed media feature name and value pairs.
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) (Ⓢ).
rule-selector-property-disallowed-list
: Specify a list of disallowed properties for selectors within rules.
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-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-no-qualifying-type
: Disallow qualifying a selector by type.selector-no-vendor-prefix
: Disallow vendor prefixes for selectors (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-disallowed-list
: Specify a list of disallowed pseudo-element selectors.
unit-allowed-list
: Specify a list of allowed units.unit-disallowed-list
: Specify a list of disallowed units.
value-no-vendor-prefix
: Disallow vendor prefixes for values (Autofixable) (Ⓢ).
Specify lowercase or uppercase for words.
function-name-case
: Specify lowercase or uppercase for function names (Autofixable) (Ⓢ).selector-type-case
: Specify lowercase or uppercase for type selectors (Autofixable) (Ⓢ).value-keyword-case
: Specify lowercase or uppercase for keywords values (Autofixable) (Ⓢ).
at-rule-empty-line-before
: Require or disallow an empty line before at-rules (Autofixable) (Ⓢ).comment-empty-line-before
: Require or disallow an empty line before comments (Autofixable) (Ⓢ).custom-property-empty-line-before
: Require or disallow an empty line before custom properties (Autofixable) (Ⓢ).declaration-empty-line-before
: Require or disallow an empty line before declarations (Autofixable) (Ⓢ).rule-empty-line-before
: Require or disallow an empty line before rules (Autofixable) (Ⓢ).
Apply limits with these max
and min
rules.
declaration-block-single-line-max-declarations
: Limit the number of declarations within a single-line declaration block (Ⓢ).declaration-property-max-values
: Limit the number of values for a list of properties within declarations.max-nesting-depth
: Limit the depth of nesting.number-max-precision
: Limit the number of decimal places allowed in numbers (Ⓢ).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 selectors in a selector.selector-max-universal
: Limit the number of universal selectors in a selector.time-min-milliseconds
: Limit the minimum number of milliseconds for time values.
Enforce one representation of things that have multiple with these notation
(sometimes implicit) rules.
alpha-value-notation
: Specify percentage or number notation for alpha-values (Autofixable) (Ⓢ).color-function-notation
: Specify modern or legacy notation for color-functions (Autofixable) (Ⓢ).color-hex-length
: Specify short or long notation for hex colors (Autofixable) (Ⓢ).font-weight-notation
: Specify numeric or named notation for font weights (Autofixable).hue-degree-notation
: Specify number or angle notation for degree hues (Autofixable) (Ⓢ).import-notation
: Specify string or URL notation for@import
rules (Autofixable) (Ⓢ).keyframe-selector-notation
: Specify keyword or percentage notation for keyframe selectors (Autofixable) (Ⓢ).media-feature-range-notation
: Specify context or prefix notation for media feature ranges (Autofixable) (Ⓢ).selector-not-notation
: Specify simple or complex notation for:not()
pseudo-class selectors (Autofixable) (Ⓢ).selector-pseudo-element-colon-notation
: Specify single or double colon notation for applicable pseudo-element selectors (Autofixable) (Ⓢ).
Enforce naming conventions with these pattern
rules.
comment-pattern
: Specify a pattern for comments.custom-media-pattern
: Specify a pattern for custom media query names (Ⓢ).custom-property-pattern
: Specify a pattern for custom properties (Ⓢ).keyframes-name-pattern
: Specify a pattern for keyframe names (Ⓢ).selector-class-pattern
: Specify a pattern for class selectors (Ⓢ).selector-id-pattern
: Specify a pattern for ID selectors (Ⓢ).selector-nested-pattern
: Specify a pattern for the selectors of rules nested within rules.
Require or disallow quotes with these quotes
rules.
font-family-name-quotes
: Require or disallow quotes for font family names (Autofixable) (Ⓢ).function-url-quotes
: Require or disallow quotes for urls (Autofixable) (Ⓢ).selector-attribute-quotes
: Require or disallow quotes for attribute values (Autofixable) (Ⓢ).
Disallow redundancy with these no-redundant
rules.
declaration-block-no-redundant-longhand-properties
: Disallow redundant longhand properties within declaration-block (Autofixable) (Ⓢ).shorthand-property-no-redundant-values
: Disallow redundant values within shorthand properties (Autofixable) (Ⓢ).
Require or disallow whitespace on the inside.
comment-whitespace-inside
: Require or disallow whitespace on the inside of comment markers (Autofixable) (Ⓢ).
These rules are deprecated — we won't fix bugs nor add options, and we will remove them in the next major release. We recommend you use a pretty printer (like Prettier) alongside Stylelint rather than these rules.
color-hex-case
: Specify lowercase or uppercase for hex colors (Autofixable).
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-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-quotes
: Specify single or double quotes around strings (Autofixable).
unit-case
: Specify lowercase or uppercase for units (Autofixable).
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-case
: Specify lowercase or uppercase for properties (Autofixable).
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-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-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-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-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-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-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-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.
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-empty-first-line
: Disallow empty first lines (Autofixable).no-eol-whitespace
: Disallow end-of-line whitespace (Autofixable).no-extra-semicolons
: Disallow extra semicolons (Autofixable).no-missing-end-of-source-newline
: Disallow missing end-of-source newlines (Autofixable).unicode-bom
: Require or disallow Unicode BOM.