本文へスキップ

declaration-property-value-no-unknown

宣言内のプロパティに対する未知の値を禁止します。

a { top: unknown; }
/** ↑ ↑
* property and value pairs like these */

このルールは、CSS仕様で定義されているプロパティの値を既知のものとみなします。`propertiesSyntax` および `typesSyntax` のセカンダリオプションを使用して、構文を拡張できます。

このルールはCSSにのみ適しています。SassやLessなどのCSSライクな言語には適用しないでください。それらは独自の構文を持っています。

このルールは実験的なもので、マイナーリリースで修正されるいくつかの偽陰性があります。

場合によっては、以下と重複します。

重複した問題がフラグ付けされた場合は、対応するルールをオフにすることができます。

オプション

true

以下のパターンは問題とみなされます

a { top: red; }
a { top: unknown; }

以下のパターンは問題とみなされません

a { top: 0; }
a { top: var(--foo); }

オプションのセカンダリオプション

ignoreProperties: { "property": ["/regex/", /regex/, "non-regex"]|"/regex/"|/regex/|"non-regex" }

指定されたプロパティと値のペアを無視します。オブジェクトのキーはプロパティ名を示します。オブジェクト内の文字列が`"/"`で囲まれている場合、正規表現として解釈されます。たとえば、`".+/"`は任意の文字列に一致します。

{
"top": ["unknown"],
"/^margin-/": "/^--foo/",
"padding": "/.+/",
"/.+/": "--unknown-value"
}

以下のパターンは問題とみなされません

a { top: unknown; }
a { margin-top: --foo-bar; }
a { padding: invalid; }
a { width: --unknown-value; }

propertiesSyntax: { property: syntax }

プロパティ構文辞書を拡張または変更します。CSS値定義構文を使用して値の構文を定義します。定義が`|`で始まる場合は、もしあれば既存の定義値に追加されます。

{ "size": "<length-percentage>" }

以下のパターンは問題とみなされません

a { size: 0; }
a { size: 10px }

typesSyntax: { type: syntax }

型構文辞書を拡張または変更します。CSS値定義構文を使用して値の構文を定義します。定義が`|`で始まる場合は、もしあれば既存の定義値に追加されます。

型は、他の定義間で定義を再利用できるプリセットのようなものです。そのため、このオプションを使用する場合は、`propertiesSyntax`オプションも使用する必要があります。

{
"propertiesSyntax": { "top": "| <--foo()>" },
"typesSyntax": { "--foo()": "--foo( <length-percentage> )" }
}

以下のパターンは問題とみなされません

a { top: --foo(0); }
a { top: --foo(10px); }