Gaya untuk penomoran CSS. Daftar bernomor Metode tradisional yang kikuk
daftar HTML digunakan untuk mengelompokkan informasi terkait. Ada tiga jenis daftar:
daftar berpoin —
- - setiap elemen daftar
- ditandai dengan spidol,
daftar bernomor —- - setiap elemen daftar
- ditandai dengan nomor
daftar definisi- - terdiri dari pasangan suku- —
- definisi.
Setiap daftar adalah wadah di mana elemen daftar atau pasangan definisi istilah berada. Elemen daftar berperilaku seperti elemen blok, ditumpuk di bawah satu sama lain dan menempati seluruh lebar blok kontainer. Setiap item daftar memiliki blok tambahan yang terletak di samping, yang tidak berpartisipasi dalam tata letak.
Membuat Daftar HTML
1. Daftar berpoin
Daftar berpoin adalah daftar yang tidak berurutan (dari Daftar Tidak Berurutan Bahasa Inggris). Dibuat menggunakan tag berpasangan
. Penanda elemen daftar adalah label, misalnya lingkaran terisi.Browser secara default menambahkan format berikut ke blok daftar:
Setiap elemen daftar dibuat menggunakan tag berpasangan
- (dari Item Daftar Bahasa Inggris).
- tersedia .
- Microsoft
- Apel
2. Daftar bernomor
Daftar bernomor dibuat menggunakan tag berpasangan. Setiap item daftar juga dibuat menggunakan elemen
- ditandai dengan nomor
- . Browser memberi nomor pada elemen secara otomatis, dan jika Anda menghapus satu atau lebih elemen dari daftar tersebut, nomor yang tersisa akan dihitung ulang secara otomatis.
Blok daftar juga memiliki gaya browser default:
- Atribut nilai tersedia, yang memungkinkan Anda mengubah nomor default untuk item daftar yang dipilih. Misalnya, jika untuk item pertama dalam daftar yang Anda tetapkan
- , maka sisa penomoran akan dihitung ulang relatif terhadap nilai baru.
Untuk tanda
- Atribut berikut tersedia:
- Microsoft
- Apel
- Dan
- tersedia .
- Direktur:
- Peter Tochilin
- Pemeran:
- Andrey Gaidulyan
- Alexei Gavrilov
- Vitaly Gogunsky
- Maria Kozhevnikova
Beras. 3. Daftar definisi4. Daftar bersarang
Seringkali, kemampuan daftar sederhana saja tidak cukup; misalnya, saat membuat daftar isi, Anda tidak dapat melakukannya tanpanya item bersarang. Markup untuk daftar bersarang adalah sebagai berikut:
- Poin 1.
- Poin 2.
- Subayat 2.1.
- Subayat 2.2.
- Subayat 2.2.1.
- Subayat 2.2.2.
- Subayat 2.3.
- Poin 3.
Beras. 4. Daftar bersarang5. Daftar bernomor bertingkat
Daftar bertingkat digunakan untuk menampilkan item daftar pada tingkat berbeda dengan lekukan berbeda. Markup untuk daftar bernomor bertingkat adalah sebagai berikut:
- ayat
- ayat
- ayat
- ayat
- ayat
- ayat
- ayat
- ayat
- ayat
- ayat
- ayat
Markup default ini akan membuat penomoran baru untuk setiap daftar bertumpuk, dimulai dengan satu. Untuk membuat penomoran bertingkat, Anda perlu menggunakan properti berikut:
counter-reset me-reset satu atau lebih counter dengan menentukan nilai reset;
kenaikan tandingan menentukan nilai kenaikan penghitung, mis. berapa kenaikan setiap item berikutnya akan diberi nomor;
konten - konten yang dihasilkan, dalam hal ini bertanggung jawab untuk menampilkan nomor sebelum setiap item daftar.Ol ( /* hapus penomoran standar */ gaya daftar: tidak ada; /* Identifikasi penghitung dan beri nama li. Nilai penghitung tidak ditentukan - secara default adalah 0 */ counter-reset: li; ) li :before ( /* Kami mendefinisikan elemen yang akan diberi nomor - li. Elemen semu sebelum menunjukkan bahwa konten yang disisipkan menggunakan properti konten akan ditempatkan sebelum item daftar. Nilai kenaikan penghitung diatur di sini (defaultnya adalah 1 */ kenaikan tandingan: li /). * Properti konten menampilkan nomor item daftar. counters() berarti teks yang dihasilkan mewakili nilai semua counter dengan nama tersebut titik di antara angka, dan titik dengan spasi ditambahkan sebelum konten setiap item daftar */ content: counters(li,".") "."
Beras. 5. Daftar bernomor bertingkat
Tabel 1. Atribut tag
Atribut Deskripsi, nilai yang diterima terbalik Atribut reversed menyebabkan daftar ditampilkan dalam urutan terbalik (misalnya, 9, 8, 7...). awal Atribut start menentukan nilai awal dari mana penomoran akan dimulai, misalnya konstruksi - item pertama akan diberi nomor seri “10”. Anda juga dapat menentukan jenis penomoran secara bersamaan, misalnya,
- .
jenis Atribut type menentukan tipe penanda yang akan digunakan dalam daftar (huruf atau angka). Nilai yang diterima:
1 — nilai default, penomoran desimal.
A — penomoran daftar sesuai abjad, huruf kapital (A, B, C, D).
a — daftar penomoran menurut abjad, huruf kecil (a, b, c, d).
I - penomoran dengan angka kapital Romawi (I, II, III, IV).
i — penomoran dengan angka Romawi kecil (i, ii, iii, iv).3. Daftar definisi
Daftar definisi dibuat menggunakan tag
Blok daftar definisi memiliki gaya browser default berikut:
Untuk tag
- ,
Jika Anda pernah mencoba mengubah gaya CSS nomor baris (digit) dalam daftar yang diurutkan
- , maka Anda mungkin mengalami masalah. Tidak mungkin mencapai gaya elemen ini menggunakan pemilih CSS. Namun seringkali desain antarmuka melibatkan perubahan warna, latar belakang, ukuran, dll.
- Tanam pohon
- Membangun rumah
- Besarkan seorang putra
- 1 Tanam pohon
- 2 Membangun rumah
- 3 Besarkan seorang putra
- Tanam pohon
- Membangun rumah
- Besarkan seorang putra
- li::sebelumnya– membuat elemen semu di dalam daftar, yang menggantikan anak pertama.
- counter-reset: penghitung saya;– me-reset penghitung css myCounter di dalam masing-masing
- .
- kenaikan tandingan: myCounter;– menambah penghitung css myCounter untuk setiap pseudo-element::before .
- konten:penghitung(penghitung saya);– mencetak nilai penghitung myCounter saat ini di dalam::before elemen semu.
- Angka Arab (1, 2, 3, ...);
- Angka arab dengan awalan nol untuk bilangan kurang dari sepuluh (01, 02, 03, ...,10);
- huruf latin kapital (A, B, C, ...);
- huruf latin kecil (a, b, c,…);
- angka romawi huruf besar (I, II, III, ...);
- angka romawi huruf kecil (i, ii, iii, ...);
- penomoran Armenia;
- Penomoran Georgia.
- . Nilainya adalah bilangan bulat positif apa pun. Tidak masalah jenis penomoran apa yang ditetapkan, meskipun huruf Latin digunakan sebagai daftar. Jika atribut awal dan nilai diterapkan ke daftar pada saat yang sama, maka atribut nilai akan diutamakan dan penomoran ditampilkan dari angka yang ditentukan oleh nilai, seperti yang ditunjukkan pada Contoh 1.
Contoh 1: Mengubah penomoran daftar
Daftar - Anda harus menjaga tempat kerja Anda dengan baik.
- Sesuaikan pencahayaan ruangan sehingga sumber cahaya berada di samping atau di belakang operator.
- Untuk menghindari komplikasi medis, disarankan memilih kursi dengan dudukan empuk.
Elemen pertama dari daftar dalam contoh ini akan dimulai dengan angka Romawi IV, karena atribut start="4" ditentukan, kemudian muncul nomor V, dan elemen terakhir keluar dari urutan dan diberi nomor X (Gambar 1).
Beras. 1. Angka Romawi dalam daftar
Menulis angka
Secara default, daftar bernomor memiliki tampilan tertentu: pertama ada angka, lalu titik, dan setelah itu teks ditampilkan dipisahkan dengan spasi. Bentuk penulisan ini bersifat visual dan nyaman, namun beberapa pengembang lebih suka melihat cara berbeda dalam merancang penomoran daftar. Yakni, agar alih-alih titik ada tanda kurung tutup, seperti terlihat pada Gambar. 2 atau sesuatu yang serupa.
Beras. 2. Tampilan daftar bernomor dengan tanda kurung
Gaya memungkinkan Anda mengubah jenis penomoran daftar menggunakan properti konten dan penghitung kenaikan. Pertama, pemilih ol perlu disetel ke counter-reset : item , ini diperlukan agar penomoran di setiap daftar baru dimulai dari awal. Jika tidak, penomoran akan berlanjut dan bukannya 1,2,3 Anda akan melihat 5,6,7. Nilai item adalah pengidentifikasi unik untuk penghitung; kami memilihnya sendiri. Selanjutnya, Anda perlu menyembunyikan penanda asli melalui properti gaya list-style-type dengan nilai none .
Properti content biasanya bekerja bersama dengan elemen semu ::after dan ::before. Jadi, konstruksi li::before mengatakan bahwa beberapa konten harus ditambahkan sebelum setiap elemen daftar (contoh 2).
Contoh 2. Membuat penomoran Anda sendiri
Li::sebelum ( isi: counter(item) ") "; /* Menambahkan tanda kurung pada angka */ counter-inrice: item; /* Menetapkan nama penghitung */ )
Properti konten dengan nilai counter(item) menampilkan angka; Dengan menambahkan tanda kurung, seperti yang ditunjukkan dalam contoh ini, kita mendapatkan jenis penomoran yang diperlukan. counter-increment diperlukan untuk menambah nomor daftar sebanyak satu. Perhatikan bahwa pengenal yang sama, bernama item , digunakan di seluruh bagian. Kode terakhir ditunjukkan pada Contoh 3.
Contoh 3: Mengubah tampilan daftar
Daftar - Pertama
- Kedua
- Ketiga
- Keempat
Dengan menggunakan metode di atas, Anda dapat membuat semua jenis daftar bernomor, misalnya, memasukkan angka dalam tanda kurung siku, dalam hal ini hanya satu baris yang akan berubah gayanya.
Isi: "[" counter(item) "] ";
Daftar dengan huruf Rusia
Ada daftar bernomor dengan huruf Latin, tetapi tidak ada huruf Rusia untuk daftar tersebut. Mereka dapat ditambahkan secara artifisial menggunakan teknik di atas. Karena penomoran dilakukan melalui gaya, daftarnya sendiri tetap asli, hanya kelas yang dipilih yang ditambahkan ke dalamnya, sebut saja cyrilic (contoh 4).
Contoh 4: Kode untuk membuat daftar
- Satu
- Dua
- Tiga
Menambahkan huruf dilakukan menggunakan elemen semu ::before dan properti konten. Karena setiap baris harus memiliki hurufnya sendiri, kita akan menggunakan kelas semu :nth-child(1) , dengan nomor huruf ditulis dalam tanda kurung. Huruf pertama tentu saja adalah A, huruf kedua adalah B, huruf ketiga adalah C, dan seterusnya. Seluruh himpunan ini ditambahkan ke pemilih li sebagai berikut (contoh 5).
Contoh 5: Menggunakan kelas semu: anak ke-n
Sirilik li:nth-child(1)::before ( isi: "a)"; ) .cyrilic li:nth-child(2)::before ( konten: "b)"; ) .cyrilic li:nth-child(3)::before ( konten: "at)"; )
Dalam contoh ini, setiap huruf diikuti tanda kurung, semua huruf menggunakan huruf kecil. Anda dapat menentukan sendiri jenis penomoran daftar, misalnya dapat berisi huruf kapital dengan titik, dengan satu atau dua tanda kurung, atau huruf saja. Berbeda dengan penomoran standar, kita bebas melakukan apapun yang kita inginkan di sini. Daftar sepuluh huruf seharusnya cukup untuk hampir semua situasi, tetapi jika ini tiba-tiba ternyata tidak cukup, tidak ada yang menghalangi kami untuk memperluas daftar kami dengan memasukkan setidaknya semua huruf alfabet Rusia.
Kami akhirnya menyesuaikan perataan dan posisi huruf, secara opsional menentukan ukuran font, warna dan parameter lainnya (contoh 6).
Contoh 6. Daftar dengan huruf Rusia
Daftar - Borscht
- Potongan daging tombak
- Kulebyaka
- Jamur dalam krim asam
- Pancake dengan kaviar
- kvass
Hasil dari contoh ini ditunjukkan pada Gambar. 3.
Untuk daftar, pembuatannya menggunakan HTML dijelaskan di sini, aturan CSS berikut disediakan.
tipe gaya daftar
Menentukan penomoran poin atau daftar, bukan atribut type dalam kode HTML. Nilai properti untuk daftar berpoin dapat berupa:
- disk- lingkaran, diatur secara default.
- lingkaran- lingkaran.
- persegi- persegi.
Untuk daftar bernomor, properti biasanya diberi nilai berikut:
- desimal- Angka Arab, nilai default.
- Romawi rendah- angka romawi kecil.
- Romawi Atas- angka romawi kapital.
- alfa rendah- huruf latin kecil.
- alfa atas- huruf latin kapital.
Selain itu, untuk tipe daftar apa pun, properti tipe gaya daftar dapat disetel ke none, yang akan menghapus penanda sama sekali.
Nilai lain tersedia untuk daftar bernomor, seperti cjk-ideografis menetapkan penomoran ideografik, orang Armenia- bahasa Armenia tradisional, dan desimal-depan-nol akan mengatur penomoran dalam angka Romawi, tetapi dengan nol di depannya: 01, 02, 03... 09, namun dalam praktiknya nilai ini dan nilai serupa sangat jarang digunakan.
Contoh di bawah menampilkan tiga daftar: daftar bernomor dengan penomoran tradisional Armenia, daftar berpoin dengan lingkaran, dan daftar bernomor dengan item yang diberi nomor secara ideografis.
Daftar CSS - Poin pertama
- Poin kedua
- Poin ketiga
- Poin pertama
- Poin kedua
- Poin ketiga
- Poin pertama
- Poin kedua
- Poin ketiga
Hasil.
Warna penanda cocok dengan warna teks dalam daftar yang ditentukan oleh properti warna.
gambar gaya daftar
Memungkinkan Anda mengatur gambar Anda sendiri sebagai penanda daftar. Misalnya, jika folder yang berisi halaman daftar berisi file penanda.png, yang ingin Anda gunakan, maka kode desainnya adalah sebagai berikut:
Ul ( gambar-gaya-daftar: url("marker.png"); )
posisi gaya daftar
Menentukan posisi penanda: apakah ditempatkan di luar batas elemen daftar ( posisi gaya daftar: di luar), atau teks membungkusnya ( posisi-gaya-daftar: di dalam).
Contoh di bawah ini menunjukkan perbedaan antara nilai-nilai ini. Dalam kasus pertama, penanda berada di dalam daftar; dalam kasus kedua, penanda ditempatkan di luar daftar.
posisi gaya daftar - Lihat saja perbedaan antara bagian dalam dan luar.
- Dalam kasus di dalam, penanda langsung masuk ke dalam daftar, tanpa melampaui batasnya dan tanpa mengganggu tata letak. Teks mengalir di sekelilingnya, penandanya sepertinya ada di dalam.
- Nilai luar memindahkan penanda ke luar daftar.
Hasilnya, halaman berikut dibuat:
gaya daftar
Memungkinkan Anda mempersingkat kode dengan menulis ketiga properti yang terdaftar dalam satu baris. Aturan ditulis dipisahkan dengan spasi:
Ul ( gaya daftar: persegi di dalam; )
Mari kita lihat contoh halaman dengan tiga daftar. Yang pertama diberi nomor dengan angka dalam format 01, 02, yang kedua ditandai dengan gambar khusus (file marker.png di folder dengan halaman), penanda daftar ketiga dinonaktifkan.
Kode HTML diberikan di bawah ini.
gaya daftar - Poin pertama
- Poin kedua
- Poin ketiga
- Poin pertama
- Poin kedua
- Poin ketiga
- Poin pertama
- Poin kedua
- Poin ketiga
Browser akan menampilkan halaman berikut.
Berikut adalah contoh paling sederhana dari daftar tanpa gaya:
html
Mari kita lihat beberapa cara untuk mengatasi masalah di atas.
Secara tradisional cara yang kikuk.
Cara tradisional untuk mengatasi masalah ini adalah dengan menyembunyikan nomor baris yang ditetapkan secara otomatis oleh browser. Dalam hal ini, properti list-style: none; .
css
li( gaya daftar: tidak ada; ) .num( warna: putih; latar belakang: #2980B9; tampilan: blok sebaris; perataan teks: tengah; margin: 5px 10px; tinggi garis: 40px; lebar: 40px; tinggi: 40 piksel)html
Setuju, ini terlihat berlebihan dan tidak fleksibel. Kami menyembunyikan nomor urut yang ditempatkan secara otomatis dan menggantinya dengan nilai yang ditentukan secara manual, mengacaukan tata letak, dll.
Mari kita lihat bagaimana kita dapat mencapai hasil yang sama tanpa menyumbat tata letak dan menggunakan pseudo-element::before dan properti CSS content , counter-inrice , counter-reset .
Cara yang indah dan benar.
Pertama kami akan memberikan kode dan demonya, lalu kami akan mencari tahu apa itu.
css
ol( counter-reset: myCounter; ) li( gaya daftar: tidak ada; ) li:before ( counter-inrice: myCounter; content:counter(myCounter); warna: putih; latar belakang: #2980B9; display: inline-block; perataan teks: margin: 5px 10px; tinggi garis: 40px;html
Seperti yang Anda lihat, kode htmlnya tetap bersih dan indah. Dalam hal ini, semua gaya elemen daftar ditransfer ke css.
Mari kita lihat poin demi poin:
Detail lebih lanjut tentang penghitung css dapat ditemukan di
Daftar bernomor adalah kumpulan elemen dengan nomor serinya. Jenis dan tipe penomoran tergantung pada parameter elemen
- , yang digunakan untuk membuat daftar. Nilai-nilai berikut dapat berfungsi sebagai elemen penomoran:
Dari sudut pandang praktis, prinsip menampilkan item dalam daftar berpoin dapat diterapkan dengan cara yang mirip dengan daftar bernomor. Namun mengingat kita berurusan dengan enumerasi, ada beberapa fitur yang akan dibahas lebih lanjut.
Penomoran daftar
Diperbolehkan untuk memulai daftar dari nomor berapa pun; atribut awal elemen digunakan untuk tujuan ini
- atau nilai elemen tersebut