CSS counter-reset — створити лічильник
Властивість counter-reset встановлює змінну, в якій буде зберігатися лічильник відображень певного елемента, а також початкове значення цього лічильника.
article {
counter-reset: section;
}
section {
counter-increment: section;
}
section h2:before {
content: counter(section) '. ';
}
Лічильник може виводитися за допомогою властивості content та псевдо елементів :after чи :before.
Кожен елемент має набір лічильників, які успадковуються через дерево документів. Лічильники мають ім'я, ціле значення та елемент-творець. Вони також можуть мати ще один вкладений лічильник.
Властивість counter-reset створює один або кілька нових лічильників для елементу. Кожен лічильник має ім'я / ідентифікатор і підрахунок, пов'язаний з цим ідентифікатором.
Загальний опис
автор: NagarD
Синтаксис
counter-reset: none|name number|initial|inherit;
Властивість counter-reset може отримувати 5 значень:
-
none -
Забороняє ініціацію лічильника для поточного селектора
автор: Svitlana -
name -
Задає одну або кілька змінних, в яких буде зберігатися значення лічильника. Значення розділяються між собою пробілом
автор: Svitlana -
number -
Початкове значення кожного ідентифікатора. Без задання дорівнює 0
автор: Svitlana -
initial -
Встановлює властивість у значення без задання
автор: Svitlana -
inherit -
Вказує на спадковість властивості від свого батьківського елемента
автор: Svitlana
| Значення без задання: | none |
|---|---|
| Наслідує: | Ні |
| Анімується: | Ні |
| JavaScript синтаксис: | object.style.counterReset="section" |
Переглядачі
| Переглядач | ||||||
|---|---|---|---|---|---|---|
| 2 | 1 | 3 | 9.2 | 12 | 8 |
| Переглядач | ||||
|---|---|---|---|---|
| 4.4 | 18 | 25 | 1 |
Приклади
+ запропонувати свій приклад у пісочниці
counter-reset заводить лічильник section на body, а subsection скидає на кожному h1 — тому підрозділи другого розділу знову рахуються з одиниці.
HTML
<h1>Вступ</h1>
<h2>Історія</h2>
<h2>Сьогодення</h2>
<h1>Практика</h1>
<h2>Приклади</h2>
CSS
body {
counter-reset: section;
}
h1 {
counter-reset: subsection;
}
h1::before {
counter-increment: section;
content: "Розділ " counter(section) ". ";
}
h2::before {
counter-increment: subsection;
content: counter(section) "." counter(subsection) " ";
}
Використання
HTML
<h1>HTML</h1>
<p>Самий початок...</p>
<h1>CSS</h1>
<p>Трохи більше, ніж початок.</p>
<h1>JavaScript</h1>
<p>Не початок, але і не кінець.</p>
CSS
body {
line-height: 0.8em;
counter-reset: chapter;
}
h1 {
font-size: 18px;
}
h1:before {
content: "Частина № " counter(chapter) ": ";
counter-increment: chapter;
}
Обидва списки нумеруються однаковим лічильником. У першому counter-reset стоїть на самому пункті, тож лічильник заводиться наново на кожному рядку й усі номери дорівнюють одиниці. У другому скидання винесено на список — нумерація йде як слід.
HTML
<p>counter-reset на пункті:</p>
<ol class="wrong">
<li>перший</li>
<li>другий</li>
<li>третій</li>
</ol>
<p>counter-reset на списку:</p>
<ol class="right">
<li>перший</li>
<li>другий</li>
<li>третій</li>
</ol>
CSS
ol {
padding: 0;
list-style: none;
}
li::before {
content: counter(n) ". ";
font-weight: bold;
color: #1e6fd9;
}
.wrong li {
counter-reset: n;
counter-increment: n;
}
.right {
counter-reset: n;
}
.right li {
counter-increment: n;
}
Коментарі
Коментарів ще немає — будьте першим!