Want to share your CSS expertise with others? Apply to the MDN Fellowship by April 1! http://mzl.la/MDNFellowship

mozilla
Your Search Results

    <custom-ident>

    Summary

    The <custom-ident> CSS data value denotes an arbitrary user-defined string used as an identifier. It is case-sensitive and in each context, several values are excluded to prevent misinterpretations.

    Syntax

    Its syntax is similar to the CSS identifier one, except that it is case-sensitive: a <custom-ident> is a sequence of characters where characters can be:

    • any alphanumeric character ('A' to 'Z', or 'a' to 'z'),
    • any decimal digit ('0' to '9'),
    • a dash ('-')
    • an underscore ('_'),
    • a escaped character (with a backslash, '\'),
    • or a Unicode character (in the format of a backslash followed by one to six hexadecimal digits, its Unicode code point).

    The first character must not be a decimal digit nor a dash ('-') followed by a decimal digit or another dash. A <custom-ident> must not be placed between single or double quotes as it would be identical to a <string>.

    Note that id1, Id1, iD1 and ID1 are all different identifiers as they are case-sensitive. In the opposite, as they are several way to escape a character, toto\? and toto\3F are the same identifiers.

    Lists of excluded values

    In order to prevent ambiguity, each property using <custom-ident> also defined a specific list of forbidden values:

    animation-name
    Forbids the global CSS values, unset, initial, and inherit, and the value none.
    counter-reset
    counter-increment
    Forbids the global CSS values, unset, initial, and inherit, and the value none.
    @counter-style
    list-style-type
    Forbibs the global CSS values, unset, initial, and inherit, as well as the value none, inline, 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.
    will-change
    Forbids the global CSS values, unset, initial, inherit, as well as the values will-change, auto, scroll-position, and contents.

    Examples

    These are valid identifiers:

    nono79            A mix of alphanumeric characters and numbers
    ground-level      A mix of alphanumeric characters and a dash
    -test             A dash followed by an alphabetic character
    _internal         An underscore followed by alphanumeric characters
    \22 toto          A Unicode character followed by a sequence of alphanumeric character
    bili\.bob         The period is correctly escaped
    

    These are invalid identifiers:

    34rem             It must not start with a decimal digit.
    -12rad            It must not start with a dash followed by a decimal digit.
    bili.bob          Only alphanumeric characters, _ and - need not being escaped.
    --toto            It must not start with two dashes.
    'bilibob'         It isn't an <user-ident>, it is a <string>.
    "bilibob"         It isn't an <user-ident>, it is a <string>.
    

    Specifications

    Specification Status Comment
    CSS Will Change Module Level 1
    The definition of '<custom-ident> for will-change' in that specification.
    Working Draft Defines which values are excluded for will-change
    CSS Counter Styles Level 3
    The definition of '<custom-ident> for list-style-type' in that specification.
    Working Draft Uses <custom-ident> instead of a finite list of keywords and Defines which values are excluded for list-style-type and @counter-style.
    CSS Lists and Counters Module Level 3
    The definition of '<custom-ident> for counter-*' in that specification.
    Working Draft Renames <identifier> to <custom-ident>. Added its usage in the new counter-set property.
    CSS Animations
    The definition of '<custom-ident> for animation-name' in that specification.
    Working Draft Defines which values are excluded for animation-name
    CSS Values and Units Module Level 3
    The definition of '<custom-ident>' in that specification.
    Candidate Recommendation Renames from <identifier> to <custom-ident>. Made it a pseudo-type and requested the different usages to precise the excluded values.
     
    CSS Level 2 (Revision 1)
    The definition of '<identifier>' in that specification.
    Recommendation Initial definition.

    Browser compatibility

    As this type is not a real type but a convenience type used to simplify the description of allowed values, there is no browser compatibility information stricto sensu.

    See also

    Document Tags and Contributors

    Contributors to this page: Sheppy, brianloveswords, FredB, kscarfone, teoli
    Last updated by: teoli,