counter-set
CSS omaisuus, nimensä, asettaa lähtöarvo CSS laskuri. Tiedätkö, kuinka tilatut luettelot alkavat yhdestä ja kasvavat sitten sieltä ylöspäin? counter-set
Omaisuus antaa meille mahdollisuuden asettaa joka alkaa arvo jotain muuta, sano, -1. Tai 2. Tai 200! Paitsi että sitä käytetään CSS-laskureissa järjestettyjen luetteloiden sijaan.
Joten sanotaan, että meillä on mukautettu laskuri kirjan lukujen luettelolle, jossa luvun numero on lisätty luvun nimeen.


Aloitamme määrittelemällä laskurin counter-reset
kiinteistölle. Kutsumme sitä chapter
ja määrittelemme sen vanhempien säilöluokkien kanssa luvuillemme, joita kutsutaan luovasti .chapters
.
.chapters ( counter-reset: chapter; )
Seuraavaksi osoitamme chapter
laskurin elementille, joka käyttää counter-increment
ominaisuutta. Koska nämä ovat kirjan lukuja, käytämme niitä
olettaen, että kirjan otsikko olisi
. Huomaa, että osoitamme sen itse asiassa :before
pseudoelementille, koska se antaa meille mahdollisuuden ennakoida laskuri todelliseen
elementti.
h2:before ( counter-increment: chapter; )
h2:before ( counter-increment: chapter; )
Siistiä, viimeinen asia mitä tarvitsemme on kertoa laskurille mitä sen pitäisi näyttää. Se tehdään content
kiinteistössä counter()
toiminnon kautta . Heitämme myös pienen värin tiskille, koska suunnittelu vaatii sitä.
h2:before ( color: red; content: "Chapter " counter(chapter) ": "; counter-increment: chapter; )
Hei, näytämme hyvältä!
Mutta odota! En todellakaan kaivaa sitä tosiasiaa, että aloitamme luvusta 1. Tarkoitan, että "eteenpäin" ei oikeastaan ole luku. Jos jotain, se on kuin luku 0.
Sieltä counter-set
tulee! Asetetaan asiat alkamaan nollasta:
h2:first-of-type::before ( counter-set: chapter; )
Siellä mennään! Tuo on parempi. Ainoastaan asettamalla ominaisuusarvoksi laskurin nimi, olemme asettaneet luetteloluettelon alkamaan luvusta 0. Voisimme yhtä helposti asettaa sen alkamaan jostakin muusta, kuten luvusta 100.
Ja jos selain ei tue counter-set
? Ei oikeastaan mitään. Se yksinkertaisesti ohitetaan ja lista alkaa sen oletusarvoisesti 1
.
Syntaksi
( ? )+ | none
Tämä on pohjimmiltaan hienostunut tapa sanoa, että ominaisuus ottaa mukautetun laskurin nimen ( ) ja lähtöarvon (
). Tai aseta se arvoon
none
ja numerointi alkaa oletusaloituspisteestä 1
.
- Alkuarvo:
none
- Koskee kaikkia elementtejä (myös ei-visuaalisia)
- Peritty: ei
- Animaatiotyyppi: lasketun arvotyypin mukaan
Arvot
/* 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;
Huomaa, että counter-set
se luo uuden laskurin, jos siihen ilmoitettua laskurin nimeä ei ole jo määritelty muualla.
Selaimen tuki
IE | Reuna | Firefox | Kromi | Safari | Ooppera |
---|---|---|---|---|---|
Ei | Ei | 68+ | Ei | Ei | Ei |
Android Chrome | Android Firefox | Android-selain | iOS Safari | ooppera Mini |
---|---|---|---|---|
Ei | 79+ | Ei | Ei | Ei |
Lisälukemista
- CSS-luetteloluettelomoduulin tason 3 määrittely (työluonnos)
- Näytetään nykyinen vaihe CSS-laskureilla
- Laskeminen CSS-laskureilla ja ruudukolla
- Kuinka kääntää CSS-mukautetut laskurit