Η counter-set
ιδιότητα CSS, αληθινή στο όνομά της, ορίζει την τιμή εκκίνησης για έναν μετρητή CSS. Ξέρετε πώς ξεκινούν οι ταξινομημένες λίστες από το 1 και μετά αυξάνονται από εκεί; Η counter-set
ιδιότητα μας επιτρέπει να ορίσουμε αυτήν την αρχική τιμή σε κάτι άλλο, ας πούμε, -1. Ή 2. Ή 200! Εκτός ότι εφαρμόζεται σε μετρητές CSS αντί για παραγγελίες λιστών.
Ας υποθέσουμε λοιπόν ότι έχουμε έναν προσαρμοσμένο μετρητή για μια λίστα κεφαλαίων βιβλίων, όπου ο αριθμός κεφαλαίου προστίθεται στο όνομα κεφαλαίου.
Θα ξεκινήσαμε καθορίζοντας έναν μετρητή με το counter-reset
ακίνητο. Θα το καλέσουμε chapter
και θα το ορίσουμε σε μια κατηγορία γονικού κοντέινερ για τα κεφάλαιά μας που ονομάζονται δημιουργικά .chapters
.
.chapters ( counter-reset: chapter; )
Στη συνέχεια, θα αναθέσουμε τον chapter
μετρητή σε ένα στοιχείο χρησιμοποιώντας την counter-increment
ιδιότητα. Δεδομένου ότι πρόκειται για κεφάλαια βιβλίων, θα τα εφαρμόσουμε
στοιχεία, υποθέτοντας ότι ο τίτλος του βιβλίου θα ήταν ο
. Παρατηρήστε ότι στην πραγματικότητα το αντιστοιχίζουμε στο :before
ψευδο-στοιχείο αφού μας επιτρέπει να προετοιμάσουμε τον μετρητή μας στο πραγματικό
στοιχείο.
h2:before ( counter-increment: chapter; )
h2:before ( counter-increment: chapter; )
Ωραίο, το τελευταίο πράγμα που θα χρειαζόμασταν είναι να πούμε στον μετρητή τι πρέπει να εμφανίζει. Αυτό γίνεται στην content
ιδιότητα μέσω της counter()
συνάρτησης. Θα ρίξουμε λίγο χρώμα στον πάγκο, καθώς το απαιτεί ο σχεδιασμός.
h2:before ( color: red; content: "Chapter " counter(chapter) ": "; counter-increment: chapter; )
Έι, είμαστε καλοί!
Αλλά περίμενε! Δεν σκάβω πραγματικά το γεγονός ότι ξεκινάμε από το Κεφάλαιο 1. Εννοώ, το "Προώθηση" δεν είναι πραγματικά ένα κεφάλαιο. Αν μη τι άλλο, είναι σαν το Κεφάλαιο 0.
Εκεί counter-set
μπαίνει! Ας θέσουμε τα πράγματα να ξεκινήσουν στο μηδέν:
h2:first-of-type::before ( counter-set: chapter; )
Ορίστε! Αυτό είναι καλύτερο. Ακριβώς ορίζοντας την τιμή ιδιοκτησίας στο όνομα του μετρητή, έχουμε ορίσει τη λίστα των κεφαλαίων για να ξεκινήσει στο Κεφάλαιο 0. Θα μπορούσαμε να ξεκινήσουμε εξίσου εύκολα με κάτι άλλο, όπως το κεφάλαιο 100.
Και αν ένα πρόγραμμα περιήγησης δεν υποστηρίζει counter-set
; Τίποτα, πραγματικά. Είναι απλά θα αγνοηθεί και η λίστα θα ξεκινήσει στις προεπιλογή της, 1
.
Σύνταξη
( ? )+ | none
Αυτός είναι βασικά ένας φανταχτερός τρόπος για να πούμε ότι η ιδιοκτησία παίρνει το όνομα ενός προσαρμοσμένου μετρητή ( ) και της αρχικής τιμής (
). Ή θα οριστεί
none
και η αρίθμηση θα ξεκινήσει στο προεπιλεγμένο σημείο εκκίνησης, 1
.
- Αρχική τιμή:
none
- Ισχύει για: όλα τα στοιχεία (συμπεριλαμβανομένων μη οπτικών)
- Κληρονομική: όχι
- Τύπος κινούμενης εικόνας: ανά τύπο υπολογισμένης τιμής
Αξίες
/* 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;
Σημειώστε ότι counter-set
θα δημιουργηθεί ένας νέος μετρητής εάν το όνομα μετρητή που δηλώνεται σε αυτόν δεν έχει ήδη καθοριστεί κάπου αλλού.
Υποστήριξη προγράμματος περιήγησης
ΙΕ | Ακρη | Firefox | Χρώμιο | Σαφάρι | ΛΥΡΙΚΗ ΣΚΗΝΗ |
---|---|---|---|---|---|
Οχι | Οχι | 68+ | Οχι | Οχι | Οχι |
Android Chrome | Android Firefox | Πρόγραμμα περιήγησης Android | iOS Safari | Opera Mini |
---|---|---|---|---|
Οχι | 79+ | Οχι | Οχι | Οχι |
Περαιτέρω ανάγνωση
- CSS Lists Module Level 3 Specification (Προσχέδιο εργασίας)
- Εμφάνιση τρέχοντος βήματος με μετρητές CSS
- Καταμέτρηση με CSS μετρητές και πλέγμα
- Τρόπος αντιστροφής προσαρμοσμένων μετρητών CSS