Den counter-set
CSS egendom, precis som namnet sätter startvärde för en CSS räknare. Du vet hur beställda listor börjar vid 1 och sedan ökar därifrån? Den counter-set
egenskapen ger oss möjlighet att uppsättning som startvärde till något annat, säger, -1. Eller 2. Eller 200! Förutom att den tillämpas på CSS-räknare istället för ordnade listor.
Så, låt oss säga att vi har en anpassad räknare för en lista över bokkapitel, där kapitelnumret är förberett till kapitelnamnet.


Vi skulle börja med att definiera en räknare med counter-reset
fastigheten. Vi kallar det chapter
och definierar det på en överordnad behållarklass för våra kapitel som kallas kreativt .chapters
.
.chapters ( counter-reset: chapter; )
Därefter tilldelar vi chapter
räknaren till ett element med hjälp av counter-increment
egenskapen. Eftersom det här är bokkapitel kommer vi att tillämpa dem på
element, förutsatt att bokens titel skulle vara
. Lägg märke till att vi faktiskt tilldelar det till :before
pseudo-elementet eftersom det tillåter oss att förbereda vår räknare till det faktiska
element.
h2:before ( counter-increment: chapter; )
h2:before ( counter-increment: chapter; )
Cool, det sista vi skulle behöva är att berätta för disken vad den ska visa. Det görs på content
fastigheten via counter()
funktionen. Vi slänger också lite färg på disken eftersom designen kräver det.
h2:before ( color: red; content: "Chapter " counter(chapter) ": "; counter-increment: chapter; )
Hej, vi ser bra ut!
Men vänta! Jag gräver inte riktigt det faktum att vi börjar med kapitel 1. Jag menar, "Framåt" är inte riktigt ett kapitel. Om något är det som kapitel 0.
Det är där counter-set
kommer in! Låt oss ställa in saker så att de börjar vid noll:
h2:first-of-type::before ( counter-set: chapter; )
Där vi går! Det är bättre. Bara genom att ställa in egenskapens värde till räknarens namn har vi ställt in kapitelistan så att de börjar vid kapitel 0. Vi kan lika enkelt ha ställt in det på något annat, som kapitel 100.
Och om en webbläsare inte stöder counter-set
? Ingenting egentligen. Det kommer helt enkelt att ignoreras och listan börjar som standard 1
.
Syntax
( ? )+ | none
Detta är i princip ett snyggt sätt att säga att egenskapen tar namnet på en anpassad räknare ( ) och startvärdet (
). Eller sätt det till
none
och numreringen börjar vid standardstartpunkten 1
.
- Ursprungligt värde:
none
- Gäller för: alla element (inklusive icke-visuella)
- Ärvt: nej
- Animationstyp: efter beräknad värdetyp
Värden
/* Set "awesome-counter" to 0 */ counter-set: awesome-counter; /* Set "awesome-counter" to -10 */ counter-set: awesome-counter -10; /* Set "awesome1" to 0, and "awesome2" to 2 */ counter-set: awesome1 awesome2 2; /* Wipe out any other settings that may have been declared elsewhere */ counter-set: none; /* Global values */ counter-set: inherit; counter-set: initial; counter-set: unset;
Observera att det counter-set
kommer att skapa en ny räknare om räknarens namn som anges på den inte redan har definierats någon annanstans.
Webbläsarstöd
IE | Kant | Firefox | Krom | Safari | Opera |
---|---|---|---|---|---|
Nej | Nej | 68+ | Nej | Nej | Nej |
Android Chrome | Android Firefox | Android-webbläsare | iOS Safari | Opera Mini |
---|---|---|---|---|
Nej | 79+ | Nej | Nej | Nej |
Vidare läsning
- CSS-listor Modul nivå 3 Specifikation (arbetsutkast)
- Visar nuvarande steg med CSS-räknare
- Räkna med CSS-räknare och rutnät
- Hur man gör om CSS anpassade räknare