Harta counter-set
CSS, sesuai dengan namanya, menetapkan nilai permulaan untuk pembilang CSS. Anda tahu bagaimana senarai yang dipesan bermula dari 1 dan kemudian naik dari sana? Properti counter-set
ini membolehkan kita menetapkan nilai permulaan kepada sesuatu yang lain, katakanlah, -1. Atau 2. Atau 200! Kecuali itu digunakan untuk kaunter CSS dan bukannya senarai yang dipesan.
Oleh itu, katakan bahawa kita mempunyai kaunter khusus untuk senarai bab buku, di mana nombor bab disusun dengan nama bab.


Kita mulakan dengan menentukan kaunter dengan counter-reset
harta tanah. Kami akan memanggilnya chapter
dan menentukan ia pada kelas bekas ibu bapa untuk bab-bab yang dikenali sebagai, kreatif, .chapters
.
.chapters ( counter-reset: chapter; )
Seterusnya, kami akan menetapkan chapter
kaunter ke elemen menggunakan counter-increment
sifat. Oleh kerana ini adalah bab buku, kami akan menggunakannya
unsur, dengan andaian tajuk buku akan menjadi
. Perhatikan bahawa kita benar-benar memberikannya ke :before
elemen semu kerana ia memungkinkan kita untuk mempersiapkan penghitung kita kepada yang sebenarnya
unsur.
h2:before ( counter-increment: chapter; )
h2:before ( counter-increment: chapter; )
Hebat, perkara terakhir yang kita perlukan adalah memberitahu kaunter apa yang seharusnya dipaparkan. Itu dilakukan pada content
harta melalui counter()
fungsi. Kami akan melemparkan sedikit warna di kaunter juga kerana reka bentuk memerlukannya.
h2:before ( color: red; content: "Chapter " counter(chapter) ": "; counter-increment: chapter; )
Hei, kami kelihatan baik!
Tapi tunggu! Saya tidak benar-benar menggali fakta bahawa kita mulai pada Bab 1. Maksud saya, "Maju" sebenarnya bukan bab. Sekiranya ada, ia seperti Bab 0.
Di situlah counter-set
masuk! Mari kita mulakan perkara pada sifar:
h2:first-of-type::before ( counter-set: chapter; )
Di sana kita pergi! Itu lebih baik. Hanya dengan menetapkan nilai harta tanah ke nama kaunter, kita telah menetapkan senarai bab untuk dimulakan pada Bab 0. Kita dapat dengan mudah menetapkannya mulai dari yang lain, seperti bab 100.
Dan jika penyemak imbas tidak menyokong counter-set
? Tiada apa apa sebenarnya. Ia hanya akan diabaikan dan senarai akan dimulakan secara default 1
.
Sintaks
( ? )+ | none
Ini pada dasarnya adalah cara yang menarik untuk mengatakan bahawa harta tanah mengambil nama kaunter khas ( ) dan nilai permulaan (
). Atau menetapkan ia untuk
none
dan penomboran akan bermula pada lalai titik permulaan, 1
.
- Nilai awal:
none
- Berlaku untuk: semua elemen (termasuk yang bukan visual)
- Diwarisi: tidak
- Jenis animasi: mengikut jenis nilai yang dikira
Nilai
/* 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;
Perhatikan bahawa counter-set
akan membuat pembilang baru jika nama kaunter yang dinyatakan di atasnya belum ditentukan di tempat lain.
Sokongan penyemak imbas
IE | Hujung | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|---|
Tidak | Tidak | 68+ | Tidak | Tidak | Tidak |
Android Chrome | Android Firefox | Penyemak Imbas Android | Safari iOS | Opera Mini |
---|---|---|---|---|
Tidak | 79+ | Tidak | Tidak | Tidak |
Bacaan lanjut
- Spesifikasi Modul Senarai CSS Tahap 3 (Draf Kerja)
- Memaparkan Langkah Semasa dengan Pembilang CSS
- Mengira Dengan Pembilang dan Grid CSS
- Cara Membalikkan Pembilang Khusus CSS