counter-reset
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die counter-reset
CSS Eigenschaft erstellt benannte CSS-Counter und initialisiert sie auf einen bestimmten Wert. Sie unterstützt das Erstellen von Counter, die von eins bis zur Anzahl der Elemente hochzählen, sowie solche, die von der Anzahl der Elemente bis eins herunterzählen.
Probieren Sie es aus
Syntax
/* Create a counter with initial default value 0 */
counter-reset: my-counter;
/* Create a counter and initialize as "-3" */
counter-reset: my-counter -3;
/* Create a reversed counter with initial default value */
counter-reset: reversed(my-counter);
/* Create a reversed counter and initialize as "-1" */
counter-reset: reversed(my-counter) -1;
/* Create reversed and regular counters at the same time */
counter-reset: reversed(pages) 10 items 1 reversed(sections) 4;
/* Remove all counter-reset declarations in less specific rules */
counter-reset: none;
/* Global values */
counter-reset: inherit;
counter-reset: initial;
counter-reset: revert;
counter-reset: revert-layer;
counter-reset: unset;
Werte
Die counter-reset
Eigenschaft akzeptiert eine Liste von einem oder mehreren durch Leerzeichen getrennten Counternamen oder das Schlüsselwort none
. Für Counternamen verwenden reguläre Counter das Format <counter-name>
, und umgekehrte Counter verwenden reversed(<counter-name>)
, wobei <counter-name>
ein <custom-ident>
oder list-item
für den eingebauten <ol>
Counter ist. Optional kann jedem Counternamen ein <integer>
folgen, um seinen Anfangswert festzulegen.
<custom-ident>
-
Gibt den zu erstellenden und initialisierenden Counternamen im
<custom-ident>
-Format an. Diereversed()
-Funktionsnotation kann verwendet werden, um den Counter als umgekehrt zu markieren. <integer>
-
Der Anfangswert, der für den neu erstellten Counter festgelegt werden soll. Standardmäßig
0
, wenn nicht angegeben. none
-
Gibt an, dass keine Counter-Initialisierung erfolgen soll. Dieser Wert ist nützlich, um
counter-reset
Werte in weniger spezifischen Regeln zu überschreiben.
Beschreibung
Die counter-reset
Eigenschaft kann sowohl reguläre als auch, in unterstützenden Browsern, umgekehrte Counter erstellen. Sie können mehrere reguläre und umgekehrte Counter erstellen, die jeweils durch ein Leerzeichen getrennt sind. Counter können ein eigenständiger Name oder ein leerzeichengetrenntes Name-Wert-Paar sein.
Warnung:
Es gibt einen Unterschied zwischen den Eigenschaften counter-reset
und counter-set
. Nach dem Erstellen eines Counters mit counter-reset
können Sie dessen Wert mit der counter-set
Eigenschaft anpassen. Dies ist kontraintuitiv, da die counter-reset
Eigenschaft trotz ihres Namens zum Erstellen und Initialisieren von Countern verwendet wird, während die counter-set
Eigenschaft verwendet wird, um den Wert eines vorhandenen Counters zurückzusetzen.
Das Setzen von counter-increment: none
auf einem Selektor mit höherer Spezifität überschreibt die Erstellung des benannten Counters, der auf Selektoren mit geringerer Spezifität festgelegt ist.
Standard-Anfangswerte
Die Standard-Anfangswerte sowohl der regulären als auch der umgekehrten Counter machen es einfach, die beiden gängigsten Nummerierungsmuster zu implementieren: das Hochzählen von eins bis zur Anzahl der Elemente und das Herunterzählen von der Anzahl der Elemente bis eins. Indem Sie einen Counter-Wert für einen benannten Counter einschließen, kann Ihr Counter ab einem ganzzahligen Wert hoch- oder herunterzählen.
Regelmäßige Counter haben standardmäßig 0
, wenn kein Zurücksetzungswert angegeben wird. Standardmäßig erhöhen sich reguläre Counter um eins, was mit der counter-increment
Eigenschaft angepasst werden kann.
h1 {
/* Create the counters "chapter" and "page" and set to initial default value.
Create the counter "section" and set to "4". */
counter-reset: chapter section 4 page;
}
Umgekehrte Counter
Beim Erstellen umgekehrter Counter ohne Wert beginnt der Counter mit einem Wert, der der Anzahl der Elemente im Satz entspricht, und zählt herunter, sodass das letzte Element im Satz 1
ist. Standardmäßig verringern sich umgekehrte Counter um eins; dies kann ebenfalls mit der counter-increment
Eigenschaft geändert werden.
h1 {
/* Create reversed counters "chapter" and "section".
Set "chapter" as the number of elements and "section" as "10".
Create the counter "pages" with the initial default value. */
counter-reset: reversed(chapter) reversed(section) 10 pages;
}
Eingebauter list-item
Counter
Geordnete Listen (<ol>
) verfügen über eingebaute list-item
Counter, die ihre Nummerierung steuern. Diese Counter erhöhen oder verringern sich automatisch um eins mit jedem Listenelement. Die counter-reset
Eigenschaft kann verwendet werden, um die list-item
Counter zurückzusetzen. Wie bei anderen Countern können Sie den Standarderhöhungswert für list-item
Counter mit der counter-increment
Eigenschaft überschreiben.
Formelle Definition
Anfangswert | none |
---|---|
Anwendbar auf | alle Elemente |
Vererbt | Nein |
Berechneter Wert | wie angegeben |
Animationstyp | by computed value type |
Formelle Syntax
Beispiele
Überschreiben des list-item
Counters
In diesem Beispiel wird die counter-reset
Eigenschaft verwendet, um einen Startwert für einen impliziten list-item
Counter festzulegen.
HTML
<ol>
<li>First</li>
<li>Second</li>
<li>Third</li>
<li>Fourth</li>
<li>Fifth</li>
</ol>
CSS
Mithilfe von counter-reset
setzen wir den impliziten list-item
Counter auf einen anderen Wert als den Standardwert 1
:
ol {
counter-reset: list-item 3;
}
Ergebnis
Mit counter-reset
setzen wir den impliziten list-item
Counter so, dass jedes ol
bei 3
zu zählen beginnt. Das erste Element würde dann mit 4 nummeriert, das zweite mit 5, etc., ähnlich der Wirkung von <ol start="4">
in HTML.
Verwendung eines umgekehrten Counters
Im folgenden Beispiel haben wir einen umgekehrten Counter namens 'priority' deklariert. Der Counter wird verwendet, um fünf Aufgaben zu nummerieren.
<ul class="stack">
<li>Task A</li>
<li>Task B</li>
<li>Task C</li>
<li>Task D</li>
<li>Task E</li>
</ul>
li::before {
content: counter(priority) ". ";
counter-increment: priority -1;
}
.stack {
counter-reset: reversed(priority);
list-style: none;
}
Im Ausgabeergebnis werden die Elemente in umgekehrter Reihenfolge von 5 bis 1 nummeriert. Beachten Sie im Code, dass wir den Anfangswert des Counters nicht angegeben haben. Der Browser berechnet den Anfangswert zur Layout-Zeit automatisch anhand des Counter-Increment-Werts.
Spezifikationen
Specification |
---|
CSS Lists and Counters Module Level 3 # counter-reset |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Verwendung von CSS-Countern Leitfaden
counter-increment
Eigenschaftcounter-set
Eigenschaft@counter-style
At-Regelcounter()
undcounters()
Funktionencontent
Eigenschaft::marker
Pseudo-Klasse- CSS-Listen und Counter Modul
- CSS-Counterstile Modul