Counter di CSS adalah “variabel” yang dikelola oleh CSS yang nilainya dapat bertambah sesuai dengan aturan CSS (untuk melacak berapa kali variabel digunakan). Counter memungkinkan kita menyesuaikan tampilan konten berdasarkan penempatannya di dokumen.
Counter di CSS seperti “variabel”. Nilai variabel dapat bertambah sesuai dengan aturan CSS (yang akan melacak berapa kali variabel digunakan).
Untuk bekerja dengan counter di CSS, kita akan gunakan properti berikut:
Untuk menggunakan counter di CSS harus membuat pengaturan ulang terlebih dahulu.
Contoh berikut membuat counter untuk halaman (body selector), lalu menambah nilai penghitung untuk setiap elemen <h2> dan menambahkan “Section <value of the counter>:” keawal setiap elemen <h2>:
Contoh :
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>Counter di CSS:</h1> <h2>Tutorial HTML</h2> <h2>Tutorial CSS</h2> <h2>Tutorial CSS</h2> </body> </html>
Contoh berikut membuat satu counter untuk halaman (section) dan satu penghitung untuk setiap elemen<h1>(sub-section). Penghitung “section” akan dihitung untuk setiap elemen<h1> dengan “Section <value of the section counter> .”, Dan penghitung “sub-section” akan dihitung untuk setiap elemen<h2> dengan “<value of the section counter>.<value of the subsection counter>”:
Contoh :
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 tutorials:</h1> <h2>HTML Tutorial</h2> <h2>CSS Tutorial</h2> <h1>Scripting tutorials:</h1> <h2>JavaScript</h2> <h2>VBScript</h2> <h1>XML tutorials:</h1> <h2>XML</h2> <h2>XSL</h2> <p><b>Note:</b> IE8 supports these properties only if a !DOCTYPE is specified.</p> </body> </html>
Counter juga dapat berguna untuk membuat daftar yang diuraikan karena contoh counter baru secara otomatis dibuat dalam child element. Di sini kita menggunakan fungsi counters () untuk menyisipkan string di antara berbagai level counter bersarang:
Contoh :
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>
Properti | Deskripsi |
---|---|
content | Menyisipkan konten yang dihasilkan, menggunakan pseudo-element :: before dan :: after |
counter-increment | Menambahkan satu atau beberapa counter |
counter-reset | Membuat atau menyetel ulang satu atau lebih counter |