counters()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die counters()
CSS Funktion ermöglicht das Kombinieren von Markierungen beim Verschachteln von Zählern. Die Funktion gibt einen String zurück, der die aktuellen Werte der benannten und verschachtelten Zähler, falls vorhanden, mit dem bereitgestellten String verbindet. Der dritte, optionale Parameter ermöglicht die Definition des Listenstils.
Die counters()
-Funktion wird in der Regel innerhalb von Pseudo-Elementen durch die content
-Eigenschaft verwendet, aber theoretisch kann sie überall genutzt werden, wo ein <string>
-Wert unterstützt wird.
Die counters()
-Funktion hat zwei Formen: counters(<name>, <string>)
und counters(<name>, <string>, <style>)
. Der generierte Text ist der Wert aller Zähler mit dem angegebenen <name>
, von außen nach innen angeordnet und durch den spezifizierten <string>
getrennt. Die Zähler werden in dem angegebenen <style>
dargestellt, wobei decimal
als Standard verwendet wird, wenn kein <style>
angegeben wird.
Probieren Sie es aus
ol {
counter-reset: index;
list-style-type: none;
}
li::before {
counter-increment: index;
content: counters(index, ".", decimal) " ";
}
<ol>
<li>Mars</li>
<li>
Saturn
<ol>
<li>Mimas</li>
<li>Enceladus</li>
<li>
<ol>
<li>Voyager</li>
<li>Cassini</li>
</ol>
</li>
<li>Tethys</li>
</ol>
</li>
<li>
Uranus
<ol>
<li>Titania</li>
</ol>
</li>
</ol>
Syntax
/* Basic usage - style defaults to decimal */
counters(counter-name, '.');
/* changing the counter display */
counters(counter-name, '-', upper-roman)
Ein Counter hat keine sichtbare Wirkung für sich. Die counters()
-Funktion (und die counter()
-Funktion) macht ihn nützlich, indem sie entwicklerdefinierten Inhalt zurückgibt.
Werte
Die counters()
-Funktion akzeptiert zwei oder drei Parameter. Der erste Parameter ist der <counter-name>
. Der zweite Parameter ist der Verkettungs-<string>
. Der optionale dritte Parameter ist der <counter-style>
.
<counter-name>
-
Ein
<custom-ident>
, der die Zähler identifiziert, was derselbe Fall-sensible Name ist, der für diecounter-reset
- undcounter-increment
-Eigenschaften verwendet wird. Der Name kann nicht mit zwei Strichen beginnen und darf nichtnone
,unset
,initial
oderinherit
sein. Alternativ kann für Inline-Zähler zur einmaligen Verwendung diesymbols()
-Funktion anstelle eines benannten Zählers in Browsern, diesymbols()
unterstützen, verwendet werden. <string>
-
Beliebige Anzahl von Textzeichen. Nicht-lateinische Zeichen müssen mit ihren Unicode-Escape-Sequenzen codiert werden: Zum Beispiel steht
\000A9
für das Copyright-Symbol. <counter-style>
-
Ein Zählerstilname oder eine
symbols()
-Funktion. Der Zählerstilname kann ein vordefinierter Stil wie numerisch, alphabetisch oder symbolisch sein, ein komplexer Langform-vordefinierter Stil wie ostasiatisch oder äthiopisch, oder ein anderer vordefinierter Zählerstil. Wenn er weggelassen wird, wirddecimal
als Standard verwendet.
Der Rückgabewert ist ein String, der alle Werte aller Zähler im Element-CSS-Zählersatz enthält, benannt <counter-name>
im durch <counter-style>
definierten Zählerstil (oder decimal
, wenn weggelassen). Der Rückgabestring ist von außen nach innen sortiert und durch den angegebenen <string>
verbunden.
Hinweis:
Für Informationen über nicht verkettete Zähler siehe die counter()
-Funktion, die den <string>
als Parameter weglässt.
Formale Syntax
<counters()> =
counters( <counter-name> , <string> , <counter-style>? )
<counter-style> =
<counter-style-name> |
<symbols()>
<symbols()> =
symbols( <symbols-type>? [ <string> | <image> ]+ )
<symbols-type> =
cyclic |
numeric |
alphabetic |
symbolic |
fixed
<image> =
<url> |
<gradient>
<url> =
<url()> |
<src()>
<url()> =
url( <string> <url-modifier>* ) |
<url-token>
<src()> =
src( <string> <url-modifier>* )
Beispiele
>Vergleich des Standardzählerwerts mit römischen Großbuchstabenzahlen
Dieses Beispiel enthält zwei counters()
-Funktionen: eine mit festgelegtem <counter-style>
und die andere, die standardmäßig decimal
verwendet.
HTML
<ol>
<li>
<ol>
<li></li>
<li></li>
<li></li>
</ol>
</li>
<li></li>
<li></li>
<li>
<ol>
<li></li>
<li>
<ol>
<li></li>
<li></li>
<li></li>
</ol>
</li>
</ol>
</li>
</ol>
CSS
ol {
counter-reset: listCounter;
}
li {
counter-increment: listCounter;
}
li::marker {
content:
counters(listCounter, ".", upper-roman) ") ";
}
li::before {
content:
counters(listCounter, ".") " == "
counters(listCounter, ".", lower-roman);
}
Ergebnis
Vergleich von Zählerwerten mit führenden Nullen mit Kleinbuchstaben
Dieses Beispiel enthält drei counters()
-Funktionen, jede mit unterschiedlichen <string>
und <counter-style>
Werten.
HTML
<ol>
<li>
<ol>
<li></li>
<li></li>
<li></li>
</ol>
</li>
<li></li>
<li></li>
<li>
<ol>
<li></li>
<li>
<ol>
<li></li>
<li></li>
<li></li>
</ol>
</li>
</ol>
</li>
</ol>
CSS
ol {
counter-reset: count;
}
li {
counter-increment: count;
}
li::marker {
content:
counters(count, "-", decimal-leading-zero) ") ";
}
li::before {
content:
counters(count, "~", upper-alpha) " == "
counters(count, "*", lower-alpha);
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Lists and Counters Module Level 3> # counter-functions> |
CSS Counter Styles Level 3> # extending-css2> |
Browser-Kompatibilität
Loading…
Siehe auch
- Verwendung von CSS-Zählern
counter-set
-Eigenschaftcounter-reset
-Eigenschaftcounter-increment
-Eigenschaft@counter-style
-Atregel- CSS
counter()
-Funktion ::marker
Pseudo-Element- CSS-Listen und Zähler-Modul
- CSS-Zählerstile-Modul
- CSS-generierter Inhalt-Modul