Как уменьшить счетчик без использования счетчика сброса

Я искал это, но я не мог найти ничего похожего на мою проблему.

В основном то, что у меня есть, называется счетчик page и я настраиваю счетчик страниц следующим образом:

content: "Page " counter(page); как это отображается на экране -> Страница 1

Все работает нормально, но мне нужно установить счетчик страниц, чтобы начать с 0 вместо 1

Я использую вики (слияние), и у меня нет доступа к где page определяется, потому что это просто переменная, предназначенная для использования для счетчиков CSS, как и раньше.

Я пытался следовать, но безуспешно:

content: "Page " counter(page) - 1;

content: "Page " counter(page - 1);

content: "Page " calc(counter(page) - 1);

Я также пытался подготовить counter-reset:

counter-reset: page -1;
content: "Page " counter(page);

Теперь мой вопрос, могу ли я установить счетчик, чтобы начать с 0 без использования каких-либо counter-reset имущество? Или в предыдущем примере, где я на самом деле пытался использовать counter-resetя сделал какую-то ошибку? Я что-то пропустил?

2 ответа

Решение

Если вы попали на эту страницу в поисках помощи по использованию счетчиков CSS с помощью инструмента слияния, запишите комментарий Ника:

Я написал ветку на форуме поддержки слияния, но, видимо, то, что я хочу сделать, не возможно.


Вот один из способов, чтобы начать с 0 без использования counter-reset: [counter-name] -1, В основном то, что мы делаем, это увеличиваем счетчик только со второго появления div class='page' так что значение счетчика для первого экземпляра всегда остается равным 0.

counter-reset не представляется обязательным свойством *. Когда не упоминается сброс, 0 принимается как значение по умолчанию, и приведенный ниже код все еще работает.

* - Не удалось найти ссылки в документах W3 или MDN, которые counter-reset необязательно, но браузеры, кажется, поддерживают его.

body {
  counter-reset: page;
}
.page:before {
  content: "Page " counter(page);
}
.page ~ .page {
  counter-increment: page;
}
<div class="page"></div>
<div class="page"></div>
<div class="page"></div>
<div class="page"></div>


Я разместил выше только для образца, и я не думаю, что это правильный способ сделать это. Рекомендуемый подход был бы ниже, где при сбросе счетчика мы устанавливаем начальное значение как -1,

body {
  counter-reset: page -1;
}
.page {
  counter-increment: page;
}
.page:before {
  content: "Page " counter(page);
}
<div class="page"></div>
<div class="page"></div>
<div class="page"></div>
<div class="page"></div>

Создайте переменную с именем Time или что-то еще, это будет ваш последний номер, показанный на вашем таймере, затем после перезапуска проверьте переменную и, если она равна 9 или число перед номером перезапуска, то установите номер показа на 0

Другие вопросы по тегам