@counter-стиль
Базовая линия 2023
Новое
С сентября 2023 года эта функция работает на последних версиях устройств и браузеров. Возможно, эта функция не будет работать на более старых устройствах или браузерах.
Правило @counter-style CSS правило позволяет расширять предварительно определённые стили списков и определять собственные стили счётчиков, которые не являются частью предварительно заданного набора стилей. Правило @counter-style содержит описатели, определяющие, как значение счётчика преобразуется в строковое представление.
@counter-style thumbs {
system: cyclic;
symbols: "\1F44D";
suffix: " ";
}
ul {
list-style: thumbs;
}
Хотя CSS предоставляет множество полезных предварительно определённых стилей счётчиков, правило @counter-style предлагает открытый метод для создания счётчиков. Это правило удовлетворяет потребностям типографики во всем мире, позволяя авторам определять собственные стили счётчиков, когда предварительно определённые стили не соответствуют их требованиям.
Синтаксис
Правило @counter-style определяется именем стиля счётчика, а стиль указанного счётчика может быть настроен с помощью <declaration-list>, состоящего из одного или нескольких описателей и их значений.
Имя стиля счётчика
<counter-style-name>-
Предоставляет имя для вашего стиля счётчика. Оно задаётся как чувствительное к регистру
<custom-ident>без кавычек. Значение не должно быть равноnone. Как и все пользовательские идентификаторы, значение вашего стиля счётчика не может быть ключевым словом CSS. Избегайте других перечисленных значений свойств CSS, включая значения свойств списка и стиля счётчика. Имя вашего счётчика не может совпадать с регистра-независимыми значениями свойствlist-style-typedecimal,disc,square,circle,disclosure-open, иdisclosure-closed.Примечание: Неперезаписываемые имена стилей счётчиков
decimal,disc,square,circle,disclosure-open, иdisclosure-closedнельзя использовать в качестве имени пользовательского счётчика. Однако они допустимы в других контекстах, где ожидается тип данных<counter-style-name>, например, вsystem: extends <counter-style-name>.
Описатели
system-
Указывает алгоритм, используемый для преобразования целого значения счётчика в строковое представление. Если значение равно
cyclic,numeric,alphabetic,symbolic, илиfixed, также необходимо указать описательsymbols. Если значение равноadditive, также необходимо указать описательadditive-symbols. symbols-
Указывает символы, которые должны использоваться для представления маркеров. Символы могут содержать строки, изображения или пользовательские идентификаторы. Этот описатель требуется, если описатель
systemзадан какcyclic,numeric,alphabetic,symbolic, илиfixed. additive-symbols-
Определяет *добавочные кортежи* для аддитивных систем. В то время как символы, указанные в описателе
symbols, используются большинством алгоритмов для построения представления маркера, аддитивные системы счётчиков, такие как римские цифры, состоят из ряда взвешенных символов. Описатели представляют собой список символов счётчика вместе с их неотрицательными целыми весами, упорядоченными по убыванию веса. Этот описатель требуется, если описательsystemзадан какadditive. negative-
Указывает символы, которые должны быть добавлены или предшествовать представлению счётчика, если значение отрицательное.
prefix-
Указывает символ, который должен быть добавлен в начало представления маркера. Префиксы добавляются к представлению на заключительной стадии, перед любыми символами, добавленными к значениям отрицательных счётчиков описателем
negative. suffix-
Аналогично описателю префикса, указывает символ, который добавляется к представлению маркера. Суффиксы добавляются после представления маркера, включая после любых символов, добавленных к значениям отрицательных счётчиков описателем
negative. range-
Определяет диапазон значений, к которым применим стиль счётчика. Если стиль счётчика используется для представления значения счётчика за пределами диапазонов, определённых этим описателем, стиль счётчика возвращается к своему стилю
fallback. pad-
Используется, когда необходимо, чтобы представления маркеров имели минимальную длину. Например, если вы хотите, чтобы счётчики начинались с 01 и продолжались 02, 03, 04 и т. д., то необходимо использовать описатель
pad. Для представлений, больших, чем заданное значениеpad, маркер строится обычным образом. speak-as-
Описание того, как синтезаторы речи, такие как программы чтения с экрана, должны объявлять стиль счётчика. Например, значение маркера элемента списка может быть прочитано как числа или буквы для упорядоченных списков или как звуковые сигналы для неупорядоченных списков, в зависимости от значения этого описателя.
fallback-
Указывает имя системы счётчика, к которому будет обращаться, если указанная система не может построить представление значения счётчика или если значение счётчика выходит за рамки заданных
range. Если счётчик обратной связи также не может представить значение, используется обратная связь этого счётчика, если она указана. Если описаны либо нет счётчиков обратной связи, либо цепочка обратных связей систем не может представить значение счётчика, она в конечном итоге обращается к стилюdecimal.
Формальный синтаксис
@counter-style =
@counter-style <counter-style-name> { <declaration-list> }
Примеры
Указание символов со стилем counter-style
@counter-style circled-alpha {
system: fixed;
symbols: Ⓐ Ⓑ Ⓒ Ⓓ Ⓔ Ⓕ Ⓖ Ⓗ Ⓘ Ⓙ Ⓚ Ⓛ Ⓜ Ⓝ Ⓞ Ⓟ Ⓠ Ⓡ Ⓢ Ⓣ Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ;
suffix: " ";
}
Это правило стиля счётчика может быть применено к спискам следующим образом:
.items {
list-style: circled-alpha;
}
Вышеприведённый код даёт следующий результат:
Готовые стили счётчиков
В документе Готовые стили счётчиков найдётся коллекция из более чем 100 counter-style фрагментов кода. Этот документ предоставляет счётчики, которые удовлетворяют потребностям языков и культур всего мира.
Конвертер стилей счётчиков Counter styles converter использует этот список для тестирования и создания копируемого и вставляемого кода для стилей счётчиков.
Спецификации
| Спецификация |
|---|
| CSS Counter Styles Level 3 # the-counter-style-rule |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
@counter-style |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
additive-symbols |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
fallback |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
negative |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
pad |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
prefix |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
range |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
speak-as |
91 | 91 | 33 | 77 | Нет | 91 | 33 | 64 | Нет | 16.0 | 91 |
suffix |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
symbols |
91Не поддерживает<image> в качестве значения для symbols описателя. |
91Не поддерживает<image> в качестве значения для symbols описателя. |
33Не поддерживает<image> в качестве значения для symbols описателя. |
77Не поддерживает<image> в качестве значения для symbols описателя. |
17 | 91Не поддерживает<image> в качестве значения для symbols описателя. |
33Не поддерживает<image> в качестве значения для symbols описателя. |
64Не поддерживает<image> в качестве значения для symbols описателя. |
17 | 16.0Не поддерживает<image> в качестве значения для symbols описателя. |
91Не поддерживает<image> в качестве значения для symbols описателя. |
system |
91 | 91 | 33 | 77 | 17 | 91 | 33 | 64 | 17 | 16.0 | 91 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/@counter-style