CSS счётчики — CSS | MDN
CSS счётчики, в своей сущности, переменные CSS, значения которых могут быть инкрементированы при помощи CSS для отслеживания количества их использования. Они позволяют регулировать внешний вид контента, основываясь на его местоположении в документе. CSS счётчики реализованы в CSS 2.1 (ссылка на спецификацию).
Значение счётчика сбрасывается (инициализируется) при помощи counter-reset
(en-US).
counter-increment
(en-US) может быть отображён на странице, используя функцию counter()
или counters() в свойстве content
.
Для того, чтобы использовать CSS счётчики, сначала необходимо сбросить их значение (0 по умолчанию). Для того, чтобы отобразить значение счётчика — используйте функцию counter()
. Следующий пример прибавляет в начале каждого h4 элемента «Section <значение счётчика>:».
body { counter-reset: section; /* Устанавливает значение счётчика, равным 0 */ } h4::before { counter-increment: section; /* Инкрементирует счётчик*/ content: "Секция " counter(section) ": "; /* Отображает текущее значение счётчика */ }
Пример:
<h4>Вступление</h4> <h4>Основная часть</h4> <h4>Заключение</h4>
CSS счётчики могут быть очень полезны для создания нумерованных списков, потому что новая сущность CSS счётчика автоматически создаётся в дочерних элементах. Используя функцию counters(), можно вставить строку между разными уровнями вложенных счётчиков. Пример:
ol { counter-reset: section; /*Создаёт новый счётчик для каждого тега <ol>*/ list-style-type: none; } li::before { counter-increment: section; /*Инкрементируется только счётчик текущего уровня вложенности*/ content: counters(section,".") " ";/*Добавляем значения всех уровней вложенности, используя разделитель '.'*/ /*Если необходима поддержка < IE8, необходимо убедиться, что после разделителя ('.') не стоит пробел*/ }
Объединим с данным HTML:
<ol> <li>item</li> <!-- 1 --> <li>item <!-- 2 --> <ol> <li>item</li> <!-- 2. 1 --> <li>item</li> <!-- 2.2 --> <li>item <!-- 2.3 --> <ol> <li>item</li> <!-- 2.3.1 --> <li>item</li> <!-- 2.3.2 --> </ol> <ol> <li>item</li> <!-- 2.3.1 --> <li>item</li> <!-- 2.3.2 --> <li>item</li> <!-- 2.3.3 --> </ol> </li> <li>item</li> <!-- 2.4 --> </ol> </li> <li>item</li> <!-- 3 --> <li>item</li> <!-- 4 --> </ol> <ol> <li>item</li> <!-- 1 --> <li>item</li> <!-- 2 --> </ol>
Результат:
Specification | Status | Comment |
---|---|---|
CSS Lists Module Level 3 Определение ‘CSS Counters’ в этой спецификации. | Рабочий черновик | No change |
CSS Level 2 (Revision 1) Определение ‘CSS Counters’ в этой спецификации. | Рекомендация | Initial definition |
counter-reset
(en-US)counter-increment
(en-US)
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
Want to get more involved?
Learn how to contribute.
This page was last modified on by MDN contributors.
python — Счетчик в jinjja2
Вопрос задан
Просмотрен 428 раз
Не работает счетчик i. Данные заполняются, но переменная не инкрементируется. Значение счетчика i всегда 1. Как поправить?
{% set i = 0 %} {% for class in classes %} <li>{{ class }}</li> {% set i = i+1 %} <li>{{ i }}</li> {% if i == 4 %} <br> {% endif %} {% endfor %}
- python
- jinja2
Внутри циклов можно использовать {{ loop.index }}
:
{% for class in classes %} <li>{{ class }}</li> <li>{{ loop.index }}</li> {% if loop.index == 4 %} <br> {% endif %} {% endfor %}
PS. странно, у меня {% set %}
тоже не работает, возможно эта бага: https://github.com/pallets/jinja/issues/659
3
Решение этой проблемы описано в документации:
{% set ns = namespace(counter=false) %} {% for class in classes %} <li>{{ class }}</li> {% set ns.counter = ns.counter+1 %} <li>{{ ns.counter }}</li> {% if ns.counter == 4 %} <br> {% endif %} {% endfor %}
As of version 2.10 more complex use cases can be handled using namespace objects which allow propagating of changes across scopes
Note hat the obj.attr notation in the set tag is only allowed for namespace objects; attempting to assign an attribute on any other object will raise an exception.
New in version 2.10: Added support for namespace objects
Документация: http://jinja.pocoo.org/docs/2.10/templates/ CTRL+F -> Scoping Behavior
.
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Счетчики CSS
❮ Предыдущий Следующий ❯
Пицца
Гамбургер
Hotdogs
Счетчики CSS — это «переменные», поддерживаемые CSS, значения которых могут увеличиваться по правилам CSS (чтобы отслеживать, сколько раз они используются).
Автоматическая нумерация со счетчиками
Счетчики CSS похожи на «переменные». Значения переменных могут быть увеличены с помощью правил CSS. (который будет отслеживать, сколько раз они используются).
Для работы со счетчиками CSS мы будем использовать следующие свойства:
-
counter-reset
— Создает или сбрасывает счетчик -
counter-increment
— Увеличивает значение счетчика -
контент
— Сгенерированные вставки содержание -
counter()
илиcounters()
функция — Добавляет значение счетчика элементу
Чтобы использовать счетчик CSS, его необходимо сначала создать с помощью counter-reset
.
В следующем примере создается счетчик для страницы (в селекторе основной части), затем увеличивает значение счетчика для каждого элемента
и добавляет «Раздел
< значение счетчика >:» в начало каждого элемента:
Пример
тело {
сброс счетчика: раздел;
}
h3::before {
counter-increment: section;
content: «Раздел » counter(section) «: «;
}
Попробуйте сами »
Счетчики вложения
В следующем примере создается один счетчик для страницы (раздела) и один счетчик для каждого элемента
(подраздела).
Счетчик «раздел» будет подсчитывается для каждого элементасо значением «Section
< » счетчик разделов >.», а счетчик «подразделов» будет учитываться для каждого элементас «
< значение счетчика раздела >.< значение счетчика счетчик подразделов >»:Пример
тело {
сброс счетчика: раздел;
}
ч2 {
сброс счетчика: подраздел;
}
h2::before {
счетчик приращения:
раздел;
content: «Раздел » counter(section) «. «;
}
h3::before {
счетчик-инкремент: подраздел;
содержание:
счетчик(раздел) «.» счетчик(подраздел) » «;
}
Попробуйте сами »
Счетчик также может быть полезен для составления структурированных списков, поскольку новый
экземпляр счетчика автоматически создается в дочерних элементах. Здесь мы используем counters()
функция для вставки строки между разными уровнями вложенности
счетчики:
Пример
ol {
counter-reset: section;
тип стиля списка: нет;
}
li::before {
counter-increment: section;
содержимое: counters(section,. «) » «;
}
Попробуйте сами »
Свойства счетчика CSS
Свойство | Описание |
---|---|
содержание | Используется с псевдоэлементами ::before и ::after для вставки сгенерированного содержимого |
встречное приращение | Увеличивает одно или несколько значений счетчика |
сброс счетчика | Создает или сбрасывает один или несколько счетчиков |
счетчик() | Возвращает текущее значение именованного счетчика |
❮ Предыдущий Следующий ❯
ВЫБОР ЦВЕТА
Лучшие учебники
Учебное пособие по HTMLУчебное пособие по CSS
Учебное пособие по JavaScript
Учебное пособие
Учебное пособие по SQL
Учебное пособие по Python
Учебное пособие по W3.CSS
Учебное пособие по Bootstrap
Учебное пособие по PHP
Учебное пособие по Java
Учебное пособие по C++
Учебное пособие по jQuery
9000 3
Основные каталожные номера
Справочник по HTMLСправочник по CSS
Справочник по JavaScript
Справочник по SQL
Справочник по Python
Справочник по W3. CSS
Справочник по Bootstrap
Справочник по PHP
Цвета HTML
Справочник по Java
Справочник по Angular
Справочник по jQuery
Основные примеры
Примеры HTMLПримеры CSS
Примеры JavaScript
Примеры инструкций
Примеры SQL
Примеры Python
Примеры W3.CSS
Примеры Bootstrap
Примеры PHP
Примеры Java
Примеры XML
Примеры jQuery
ФОРУМ | О
W3Schools оптимизирован для обучения и обучения. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего содержания. Используя W3Schools, вы соглашаетесь прочитать и принять наши условия использования, куки-файлы и политика конфиденциальности.
Copyright 1999-2023 Refsnes Data. Все права защищены.
W3Schools работает на основе W3.CSS.
Руководство по счетчику CSS
Используйте свойство «счетчик», чтобы превратить любой элемент в нумерованный список. Аналогично тому, как работает тег упорядоченного списка
. Очень полезно, если вы создаете сайт документации, где вам нужно автоматически пронумеровать заголовки или создать оглавление 👍
Как работает свойство счетчика
Есть 3 шага, чтобы заставить счетчик работать:
- Определение и инициализация счетчика
- Приращение счетчика
- Отображение счетчика
1. Определение и инициализация счетчика
Этот шаг состоит из 2 частей. Вам нужно определить свой счетчик и дать ему имя.
1а. Определить счетчик Я назвал свой счетчик лакомых кусочков
. Мы даем ему имя, чтобы мы могли вызывать его на последующих этапах.
1б. Инициализировать счетчик
Следующей частью является инициализация вашего счетчика. По умолчанию значение этого параметра равно 9. 0024 0 . Обратите внимание, этот номер не отображается. Именно здесь вы устанавливаете «запуск» вашего счетчика. Итак, если бы я установил это число как 20
, то мой вывод будет 21, 22, 23... и т.д.
. Предполагая, что мое приращение равно 1
(подробнее об этом позже).
сброс счетчика | Выход |
---|---|
0 | 1, 2, 3 …и т. д. 9 0127 |
20 | 21, 22, 23…и т.д. |
58 | 59, 60, 61…и т.д. |
Вот пример:
Где применить сброс счетчика 9 0025 собственность?
Вы хотите применить свойство counter-reset
к родительскому элементу. Вот что произойдет, если вы не примените его к родителю.
А вот и вывод . Как вы заметили, он не увеличивается должным образом 🙁
Кроме того, он не обязательно должен быть прямым родителем. Пока это элемент HTML, который обертывает ваш список счетчиков. Ты в порядке. Вот так:
2. Увеличить счетчик
После настройки счетчика. Теперь вы можете начать увеличивать его. Вот синтаксис этого свойства:
Как вы заметили, оно принимает целочисленный аргумент. Это означает, что вы не ограничены простым увеличением значения счетчика на 1
. В приведенной ниже таблице предполагается, что счетчик-сброс
равен 0
.
счетчик приращений | Выход |
---|---|
1 (по умолчанию) | 1, 2, 3 ... и т. д. |
5 | 5, 10, 15 ... и т. д. |
-5 | -5, -10, -15... и т.д. |
И да, вы также можете передать отрицательное целое число, чтобы уменьшить счетчик. Хорошо, давайте посмотрим, как это будет реализовано:
3. Отображение счетчика
Наконец, чтобы отобразить счетчик, нам нужно передать функцию counter
в качестве значения для нашего свойства content
. Содержание 9Свойство 0025 часто является способом отображения значения в нашем HTML через CSS. Вот синтаксис нашей функции счетчика
.
По умолчанию у нас были рабочие номера. И это стиль списка счетчиков по умолчанию
или в документах он называется стилем
. Но вы также можете перейти в другие стили
.
стиль | Выход | |
---|---|---|
по умолчанию | 1, 2 , 3 ... и т. д. | |
верхний буквенный | A, B, C ... и т. д. | |
нижний латинский | i, ii, iii ... и т. д. ай | ๑, ๒, ๓ .. .etc |
Вы можете увидеть полный список стилей здесь
И давайте рассмотрим пример:
Несколько счетчиков
Вы также можете установить несколько счетчиков, просто определив другое имя счетчика.
Вложенный счетчик
Вы также можете установить вложенный счетчик. Вместо использования counter
, вы используете форму множественного числа counters
. Счетчики
принимают дополнительный аргумент:
Строковый аргумент — это разделитель строк, который вы используете, чтобы указать, как вы хотите разделить элемент списка для вложенных счетчиков.
строка | Вывод |
---|---|
"." | 1.1, 1.2, 1.3 ...и т.д. |
">" | 1>1, 1>2, 1>3 ...и т.д. |
":" | 1:1, 1:2, 1:3 ...и т.д. 024 Счетчик CSS не заменяет Вот пример, где я должен использовать |