Proprietatea counter-set
CSS, fidelă numelui său, stabilește valoarea de pornire pentru un contor CSS. Știți cum listele ordonate încep de la 1 și apoi cresc de acolo? counter-set
Proprietatea ne permite sa stabilit ca valoarea de pornire la altceva, să zicem, -1. Sau 2. Sau 200! Cu excepția faptului că este aplicat contoarelor CSS în locul listelor ordonate.
Deci, să presupunem că avem un contor personalizat pentru o listă de capitole de carte, în care numărul capitolului este precedat de numele capitolului.
Am începe prin a defini un contor cu counter-reset
proprietatea. O vom apela chapter
și o vom defini într-o clasă de containere părinte pentru capitolele noastre numite, în mod creativ .chapters
.
.chapters ( counter-reset: chapter; )
Apoi, am atribui chapter
contorul unui element folosind counter-increment
proprietatea. Deoarece acestea sunt capitole de carte, le vom aplica
elemente, presupunând că titlul cărții ar fi
. Observați că îl atribuim de fapt :before
pseudo-elementului, deoarece ne permite să ne prelungim contorul cu cel real
element.
h2:before ( counter-increment: chapter; )
h2:before ( counter-increment: chapter; )
Super, ultimul lucru de care am avea nevoie este să spunem ghișeului ce ar trebui să afișeze. Aceasta se face pe content
proprietate prin intermediul counter()
funcției. Vom arunca o mică culoare și pe tejghea, deoarece designul necesită acest lucru.
h2:before ( color: red; content: "Chapter " counter(chapter) ": "; counter-increment: chapter; )
Hei, arătăm bine!
Dar asteapta! Nu sap cu adevărat faptul că începem de la capitolul 1. Adică, „Înainte” nu este chiar un capitol. Dacă este ceva, este ca Capitolul 0.
Acolo counter-set
intra! Să setăm lucrurile să înceapă de la zero:
h2:first-of-type::before ( counter-set: chapter; )
Iată-ne! Asa e mai bine. Doar prin setarea valorii proprietății la numele contorului, am stabilit lista de capitole pentru a începe de la capitolul 0. Am putea să o setăm la fel de ușor să înceapă la altceva, cum ar fi capitolul 100.
Și dacă un browser nu acceptă counter-set
? Nimic adevărat. Acesta va fi pur și simplu ignorat și lista va începe la valoarea implicită 1
,.
Sintaxă
( ? )+ | none
Acesta este în esență un mod fantezist de a spune că proprietatea ia numele unui contor personalizat ( ) și valoarea inițială (
). Sau setați-l la
none
și numerotarea va începe la punctul de plecare implicit 1
,.
- Valoarea initiala:
none
- Se aplică la: toate elementele (inclusiv cele non-vizuale)
- Moștenit: nu
- Tipul animației: după tipul valorii calculate
Valori
/* 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;
Rețineți că counter-set
va crea un contor nou dacă numele contorului declarat pe acesta nu a fost deja definit în altă parte.
Suport pentru browser
IE | Margine | Firefox | Crom | Safari | Operă |
---|---|---|---|---|---|
Nu | Nu | Peste 68 de ani | Nu | Nu | Nu |
Android Chrome | Android Firefox | Browser Android | Safari iOS | Opera mini |
---|---|---|---|---|
Nu | Peste 79 de ani | Nu | Nu | Nu |
Lecturi suplimentare
- Specificații pentru modulul listelor CSS de nivel 3 (schiță de lucru)
- Se afișează pasul curent cu contoare CSS
- Numărare cu contoare CSS și grilă
- Cum se inversează contoare personalizate CSS