aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/css/custom-ident/index.html
blob: f39bad2791b8d4d6f50b7a0de544220e84c7df16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
title: <custom-ident>
slug: Web/CSS/custom-ident
tags:
  - CSS
  - CSS Data Type
  - CSS Тип Данных
  - Data Type
  - Layout
  - Reference
  - Web
  - Разметка
  - тип данных
translation_of: Web/CSS/custom-ident
---
<div>{{CSSRef}}</div>

<p><a href="/ru/docs/Web/CSS">CSS</a> <a href="/ru/docs/Web/CSS/CSS_Types">тип данных</a> <strong><code>&lt;custom-ident&gt;</code></strong> включает любые определённые пользователем строки, используемые в качестве {{glossary("identifier", "идентификатора")}}. Они чувствительны к регистру, некоторые значения запрещены в разных контекстах, чтобы избежать неоднозначности.</p>

<h2 id="Синтаксис">Синтаксис</h2>

<p>Синтаксис <code>&lt;custom-ident&gt;</code> похож на синтаксис CSS идентификаторов (таких, как названия свойств), за исключением того, что значения <code>&lt;custom-ident&gt;</code> чувствительны к регистру. Они состоят из одного или более следующих символов:</p>

<ul>
 <li>буквы латинского алфавита(от <code>A</code> до <code>Z</code>, от <code>a</code> до <code>z</code>),</li>
 <li>десятеричные цифры (от <code>0</code> до <code>9</code>),</li>
 <li>дефис (<code>-</code>),</li>
 <li>нижнее подчёркивание (<code>_</code>),</li>
 <li>экранированный символ (символ с бэкслешем перед ним, <code>\</code>),</li>
 <li>символ <a class="external" href="https://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4">Unicode</a> (бэкслеш, <code>\</code>, после которого идут от одной до шести шестнадцатеричных цифр, обозначающих кодовую точку этого символа в Unicode)</li>
</ul>

<p>Обратите внимание, что <code>id1</code>, <code>Id1</code>, <code>iD1</code> и <code>ID1</code> — это разные идентификаторы, поскольку они чувствительны к регистру. С другой стороны, так как существует несколько способов экранировать символ, <code>toto\?</code> и <code>toto\3F</code> — это один и тот же идентификатор.</p>

<h3 id="Запрещённые_значения">Запрещённые значения</h3>

<p><code>&lt;custom-ident&gt;</code> не может быть заключён в одинарные или двойные кавычки, потому что иначе он не был бы отличим от значения типа {{CSSxRef("&lt;string&gt;")}}. Более того, первый символ не должен быть цифрой или дефисом (<code>-</code>), если после него идёт ещё одна цифра или ещё один дефис.</p>

<p>Чтобы избежать неоднозначности, каждое свойство, использующее тип <code>&lt;custom-ident&gt;</code>, запрещает использование некоторых значений:</p>

<dl>
 <dt>{{CSSxRef("animation-name")}}</dt>
 <dt>{{CSSxRef("counter-reset")}}</dt>
 <dt>{{CSSxRef("counter-increment")}}</dt>
 <dd>Запрещают глобальные значения CSS (<code>unset</code>, <code>initial</code> и <code>inherit</code>), а также <code>none</code>.</dd>
 <dt>{{CSSxRef("@counter-style")}}</dt>
 <dt>{{CSSxRef("list-style-type")}}</dt>
 <dd>Запрещает глобальные значения CSS (<code>unset</code>, <code>initial</code> и <code>inherit</code>), а также значения <code>none</code>, <code>inline</code> и <code>outside</code>. Также довольно много предопределённых значений используются в разных браузерах: <code>disc</code>, <code>circle</code>, <code>square</code>, <code>decimal</code>, <code>cjk-decimal</code>, <code>decimal-leading-zero</code>, <code>lower-roman</code>, <code>upper-roman</code>, <code>lower-greek</code>, <code>lower-alpha</code>, <code>lower-latin</code>, <code>upper-alpha</code>, <code>upper-latin</code>, <code>arabic-indic</code>, <code>armenian</code>, <code>bengali</code>, <code>cambodian</code>, <code>cjk-earthly-branch</code>, <code>cjk-heavenly-stem</code>, <code>cjk-ideographic</code>, <code>devanagari</code>, <code>ethiopic-numeric</code>, <code>georgian</code>, <code>gujarati</code>, <code>gurmukhi</code>, <code>hebrew</code>, <code>hiragana</code>, <code>hiragana-iroha</code>, <code>japanese-formal</code>, <code>japanese-informal</code>, <code>kannada</code>, <code>katakana</code>, <code>katakana-iroha</code>, <code>khmer</code>, <code>korean-hangul-formal</code>, <code>korean-hanja-formal</code>, <code>korean-hanja-informal</code>, <code>lao</code>, <code>lower-armenian</code>, <code>malayalam</code>, <code>mongolian</code>, <code>myanmar</code>, <code>oriya</code>, <code>persian</code>, <code>simp-chinese-formal</code>, <code>simp-chinese-informal</code>, <code>tamil</code>, <code>telugu</code>, <code>thai</code>, <code>tibetan</code>, <code>trad-chinese-formal</code>, <code>trad-chinese-informal</code>, <code>upper-armenian</code>, <code>disclosure-open</code>, and <code>disclosure-close</code>.</dd>
 <dt>{{CSSxRef("grid-row-start")}}<br>
 {{CSSxRef("grid-row-end")}}<br>
 {{CSSxRef("grid-column-start")}}<br>
 {{CSSxRef("grid-column-end")}}</dt>
 <dd>Запрещают значение <code>span</code>.</dd>
 <dt>{{CSSxRef("will-change")}}</dt>
 <dd>Запрещают глобальные значения CSS (<code>unset</code>, <code>initial</code> и <code>inherit</code>), а так же значения <code>will-change</code>, <code>auto</code>, <code>scroll-position</code> и <code>contents</code>.</dd>
</dl>

<h2 id="Примеры">Примеры</h2>

<h3 id="Действительные_идентификаторы">Действительные идентификаторы</h3>

<pre class="notranslate">nono79            Состоит из букв и цифр
ground-level      Состоит из букв, цифр и дефиса
-test             Буквы, следующие за одним дефисом
_internal         Буквы, следующие за нижним подчёркиванием
\22 toto          Буквы, следующие за символом Unicode
bili\.bob         Буквы и экранированная точка
</pre>

<h3 id="Недействительные_идентификаторы">Недействительные идентификаторы</h3>

<pre class="example-bad notranslate">34rem             Не может начинаться с цифры
-12rad            Не может начинаться с дефиса, за которым следует цифра
bili.bob          Только буквы, цифры, _ и - можно не экранириовать
--toto            Не может начинаться с двух дефисов подряд
'bilibob'         Это тип &lt;string&gt;.
"bilibob"         Это тип &lt;string&gt;.</pre>

<h2 id="Спецификации">Спецификации</h2>

{{Specifications}}

<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>

<p><em>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 as such.</em></p>

<h2 id="Смотрите_также">Смотрите также</h2>

<ul>
 <li>{{CSSxRef("&lt;ident&gt;")}}</li>
</ul>