Skip to main content

property-no-unknown

Disallow unknown properties.

a { height: 100%; }
/** ↑
* This property */

This rule considers properties defined in the CSS Specifications and browser specific properties to be known.

This rule ignores:

  • variables ($sass, @less, --custom-property)
  • vendor-prefixed properties (e.g., -moz-align-self, -webkit-align-self)

Use option checkPrefixed described below to turn on checking of vendor-prefixed properties.

The message secondary option can accept the arguments of this rule.

Options

true

The following patterns are considered problems:

a {
colr: blue;
}
a {
my-property: 1;
}

The following patterns are not considered problems:

a {
color: green;
}
a {
fill: black;
}
a {
-moz-align-self: center;
}
a {
-webkit-align-self: center;
}
a {
align-self: center;
}

Optional secondary options

ignoreProperties: ["/regex/", /regex/, "string"]

Given:

["/^my-/", "custom"]

The following patterns are not considered problems:

a {
my-property: 10px;
}
a {
my-other-property: 10px;
}
a {
custom: 10px;
}

ignoreSelectors: ["/regex/", /regex/, "string"]

Skips checking properties of the given selectors against this rule.

Given:

[":root"]

The following patterns are not considered problems:

:root {
my-property: blue;
}

ignoreAtRules: ["/regex/", /regex/, "string"]

Ignores properties nested within specified at-rules.

Given:

["supports"]

The following patterns are not considered problems:

@supports (display: grid) {
a {
my-property: 1;
}
}

checkPrefixed: true | false (default: false)

If true, this rule will check vendor-prefixed properties.

For example with true:

The following patterns are not considered problems:

a {
-webkit-overflow-scrolling: auto;
}
a {
-moz-box-flex: 0;
}

The following patterns are considered problems:

a {
-moz-align-self: center;
}
a {
-moz-overflow-scrolling: center;
}