CSS データ型<custom-ident> データ値は、識別子 (identifier) として使われる、ユーザ定義の任意の文字列を意味します。これは大文字と小文字を区別し、曖昧さを避けるため、いくつかの値は様々なコンテキストで禁止されています。

構文

<custom-ident> の構文は CSS の識別子 (プロパティ名など) に似ていますが、大文字と小文字を区別する点が違います。これは次の文字から成る文字の並びです:

  • アルファベット(A-Z と a-z)
  • 数字(0-9)
  • ハイフン (-)
  • アンダースコア (_)
  • エスケープ文字 (バックスラッシュ \ に続く)
  • Unicode 文字 (バックスラッシュ \ と、それに続く 1 - 6 個の16進値の形式をとる、Unicode コードポイント)

このデータ値は大文字と小文字を区別するため、id1Id1iD1ID1 はすべて異なった識別子です。逆に、別のエスケープ方式を使っていますが、 toto\?toto\3F は同じ識別子です。

禁止された値

<custom-ident> を引用符または二重引用符の間に置いてはいけません。こうすると、<string> として識別されてしまいます。さらに、先頭の文字は、数字やハイフン (-) および、それら続くものであってはなりません。

曖昧さを避けるため、<custom-ident> を使用する各プロパティは、特定の値の使用を禁止しています:

animation-name
Forbids the global CSS values (unset, initial, and inherit), as well as none.
counter-reset
counter-increment
Forbids the global CSS values (unset, initial, and inherit), as well as none.
@counter-style
list-style-type
Forbids the global CSS values (unset, initial, and inherit), as well as the values none, inline, and outside. Also, quite a few predefined values are implemented by the different browsers: disc, circle, square, decimal, cjk-decimal, decimal-leading-zero, lower-roman, upper-roman, lower-greek, lower-alpha, lower-latin, upper-alpha, upper-latin, arabic-indic, armenian, bengali, cambodian, cjk-earthly-branch, cjk-heavenly-stem, cjk-ideographic, devanagari, ethiopic-numeric, georgian, gujarati, gurmukhi, hebrew, hiragana, hiragana-iroha, japanese-formal, japanese-informal, kannada, katakana, katakana-iroha, khmer, korean-hangul-formal, korean-hanja-formal, korean-hanja-informal, lao, lower-armenian, malayalam, mongolian, myanmar, oriya, persian, simp-chinese-formal, simp-chinese-informal, tamil, telugu, thai, tibetan, trad-chinese-formal, trad-chinese-informal, upper-armenian, disclosure-open, and disclosure-close.
grid-row-start
grid-row-end
grid-column-start
grid-column-end
Forbids the span value.
will-change
Forbids the global CSS values (unset, initial, and inherit), as well as the values will-change, auto, scroll-position, and contents.

有効な識別子

nono79            アルファベットと数字の組み合わせ
ground-level      アルファベットとダッシュの組み合わせ
-test             ダッシュとそれに続くアルファベット
_internal         アンダースコアとそれに続くアルファベット
\22 toto          Unicode 文字とそれに続くアルファベット
bili\.bob         ピリオドは正しくエスケープされています

無効な識別子

34rem             数字で始まってはいけません
-12rad            ダッシュで始まって数字が続いてはいけません
bili.bob          アルファベットと数字以外でエスケープせずに使えるのは _ と - だけです
--toto            2 つのダッシュで始まってはいけません
'bilibob'         <user-ident> ではなく <string> です
"bilibob"         <user-ident> ではなく <string> です

仕様

仕様書 策定状況 備考
CSS Will Change Module Level 1
<custom-ident> for will-change の定義
勧告候補 Defines which values are excluded for will-change.
CSS Counter Styles Level 3
<custom-ident> for list-style-type の定義
勧告候補 Uses <custom-ident> instead of a finite list of keywords. Defines which values are excluded for list-style-type and @counter-style.
CSS Lists Module Level 3
<custom-ident> for counter-* の定義
草案 Renames <identifier> to <custom-ident>. Adds its usage to the new counter-set property.
CSS Animations
<custom-ident> for animation-name の定義
草案 Defines which values are excluded for animation-name.
CSS Values and Units Module Level 3
<custom-ident> の定義
勧告候補 Renames <identifier> to <custom-ident>. Makes it a pseudo-type and forbids the use of excluded values.
CSS Level 2 (Revision 1)
<identifier> の定義
勧告 初期定義。

ブラウザ実装状況

このデータ型は実際の型ではありませんが、許可された値をシンプルに記述するのに役立つ便利な型です。ブラウザの実装状況についての情報はありません。

ドキュメントのタグと貢献者

このページの貢献者: SphinxKnight, Marsf, Guillaume-Heras, ethertank, sosleepy
最終更新者: SphinxKnight,