Οι μετρητές CSS είναι "μεταβλητές" που διατηρούνται από το CSS των οποίων οι τιμές μπορούν να αυξηθούν με κανόνες CSS (για να παρακολουθείτε πόσες φορές χρησιμοποιούνται). Οι μετρητές σάς επιτρέπουν να προσαρμόσετε την εμφάνιση του περιεχομένου με βάση την τοποθέτησή του στο έγγραφο.
Οι μετρητές CSS είναι σαν "μεταβλητές". Οι τιμές των μεταβλητών μπορούν να αυξηθούν με κανόνες CSS (οι οποίοι θα παρακολουθούν πόσες φορές χρησιμοποιούνται).
Για να εργαστούμε με μετρητές CSS θα χρησιμοποιήσουμε τις ακόλουθες ιδιότητες:
counter-reset
- Δημιουργεί ή επαναφέρει έναν μετρητή
counter-increment
- Αυξάνει μια μετρητή τιμή
content
- Εισάγει περιεχόμενο που δημιουργείται
counter()
or counters()
function- Προσθέτει την τιμή ενός μετρητή σε ένα στοιχείο
Για να χρησιμοποιήσετε έναν μετρητή CSS, πρέπει πρώτα να δημιουργηθεί με counter-reset
.
Το παρακάτω παράδειγμα δημιουργεί έναν μετρητή για τη σελίδα (στον επιλογέα σώματος), στη συνέχεια αυξάνει την τιμή του μετρητή για κάθε στοιχείο <h2> και προσθέτει την "Ενότητα τιμή του μετρητή:" στην αρχή κάθε στοιχείου <h2>:
body {
counter-reset: section;
}
h2::before {
counter-increment: section;
content: "Section " counter(section) ": ";
}
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<head>
<style>
body {
counter-reset: section;
}
h2::before {
counter-increment: section;
content: "Section " counter(section) ": ";
}
</style>
</head>
<body>
<h1>Using CSS Counters</h1>
<h2>HTML Tutorial</h2>
<h2>CSS Tutorial</h2>
<h2>JavaScript Tutorial</h2>
<h2>Python Tutorial</h2>
<h2>SQL Tutorial</h2>
</body>
</html>
Το ακόλουθο παράδειγμα δημιουργεί έναν μετρητή για τη σελίδα (ενότητα) και έναν μετρητή για κάθε στοιχείο <h1> (υποενότητα). Ο μετρητής "section" θα μετρηθεί για κάθε στοιχείο <h1> με "Section τιμή του μετρητή ενότητας." και ο μετρητής "subsection" θα μετρηθεί για κάθε στοιχείο <h2> με "<τιμή του μετρητή ενότητας.τιμή του μετρητή υποενότητας":
body {
counter-reset: section;
}
h1 {
counter-reset: subsection;
}
h1::before {
counter-increment:
section;
content: "Section " counter(section) ". ";
}
h2::before {
counter-increment: subsection;
content:
counter(section) "." counter(subsection) " ";
}
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<head>
<style>
body {
counter-reset: section;
}
h1 {
counter-reset: subsection;
}
h1::before {
counter-increment: section;
content: "Section " counter(section) ". ";
}
h2::before {
counter-increment: subsection;
content: counter(section) "." counter(subsection) " ";
}
</style>
</head>
<body>
<h1>HTML/CSS Tutorials</h1>
<h2>HTML</h2>
<h2>CSS</h2>
<h2>Bootstrap</h2>
<h2>W3.CSS</h2>
<h1>Scripting Tutorials</h1>
<h2>JavaScript</h2>
<h2>jQuery</h2>
<h2>React</h2>
<h1>Programming Tutorials</h1>
<h2>Python</h2>
<h2>Java</h2>
<h2>C++</h2>
</body>
</html>
Ένας μετρητής μπορεί επίσης να είναι χρήσιμος για τη δημιουργία περιγραμμένων λιστών επειδή ένα νέο Το παράδειγμα ενός μετρητή δημιουργείται αυτόματα σε θυγατρικά στοιχεία. Εδώ χρησιμοποιούμε το Συνάρτηση counters()
για την εισαγωγή μιας συμβολοσειράς μεταξύ διαφορετικών επιπέδων ένθετων μετρητές:
ol {
counter-reset: section;
list-style-type: none;
}
li::before {
counter-increment: section;
content: counters(section,".") " ";
}
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html>
<head>
<style>
ol {
counter-reset: section;
list-style-type: none;
}
li::before {
counter-increment: section;
content: counters(section,".") " ";
}
</style>
</head>
<body>
<ol>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
<li>item</li>
</ol>
</li>
<li>item</li>
</ol>
</li>
<li>item</li>
<li>item</li>
</ol>
<ol>
<li>item</li>
<li>item</li>
</ol>
</body>
</html>
Χρησιμοποιείται με τα ψευδοστοιχεία ::before και ::after, για την εισαγωγή περιεχομένου που δημιουργείται
Αυξάνει μία ή περισσότερες τιμές μετρητή
Δημιουργεί ή επαναφέρει έναν ή περισσότερους μετρητές
Επιστρέφει την τρέχουσα τιμή του μετρητή με όνομα