Saya memiliki daftar yang dipesan di mana saya ingin nomor awal menjadi 6. Saya menemukan bahwa ini didukung (sekarang tidak digunakan lagi) di HTML 4.01. Dalam spesifikasi ini mereka mengatakan bahwa Anda dapat menentukan bilangan bulat awal dengan menggunakan CSS. (sebagai ganti start
atribut)
Bagaimana Anda menentukan nomor awal dengan CSS?
html
css
html-lists
vrish88
sumber
sumber
<ol start="">
tidak usang lagi di HTML5 , jadi saya akan terus menggunakannya, terlepas dari apa yang dikatakan HTML4.01.sumber
start="number"
menyebalkan karena tidak otomatis berubah berdasarkan penomoran sebelumnya.Cara lain untuk melakukan ini yang mungkin sesuai dengan kebutuhan yang lebih rumit adalah dengan menggunakan
counter-reset
dancounter-increment
.Masalah
Katakanlah Anda menginginkan sesuatu seperti ini:
Anda dapat menyetel
start="3"
pada sepertigali
detikol
, tetapi sekarang Anda harus mengubahnya setiap kali Anda menambahkan item ke yang pertamaol
Larutan
Pertama, mari kita hapus format penomoran kita saat ini.
Kami akan meminta setiap li menunjukkan konter
Sekarang kita hanya perlu memastikan penghitung disetel ulang hanya pada yang pertama,
ol
bukan masing-masing.Demo
http://codepen.io/ajkochanowicz/pen/mJeNwY
Sekarang saya dapat menambahkan sebanyak mungkin item ke salah satu daftar dan penomoran akan dipertahankan.
sumber
ol li {...}
seharusnyaol li:before {...}
- jika tidak ini adalah solusi yang tepat, terima kasih!Saya terkejut bahwa saya tidak dapat menemukan jawabannya di utas ini.
Saya sudah menemukan sumber ini , yang telah saya rangkum di bawah ini:
Untuk menyetel atribut start untuk daftar yang diurutkan menggunakan CSS, bukan HTML, Anda dapat menggunakan
counter-increment
properti sebagai berikut:counter-increment
tampaknya diindeks 0, jadi untuk mendapatkan daftar yang dimulai dari 4, gunakan3
.Untuk HTML berikut
Hasil saya adalah
Lihat biolaku
Lihat juga referensi wiki W3
sumber
Seperti yang disarankan orang lain, seseorang dapat menggunakan
start
atributol
elemen.Sebagai alternatif, seseorang dapat menggunakan
value
atributli
elemen. Kedua atribut tersebut ditandai sebagai usang di HTML 4.01 , tetapi tidak di HTML 5 (ol
danli
).sumber
Memulai penomoran daftar berurutan pada nomor yang berbeda dari nilai default ("1") membutuhkan
start
atribut. Atribut ini diizinkan (tidak usang) dalam spesifikasi HTML 4.01 (HTML 4.01 belum menjadi "Spesifikasi yang Diganti" pada saat pertanyaan ini diposting) dan masih diizinkan dalam spesifikasi HTML 5.2 saat ini . Theol
elemen juga memiliki opsionalstart
atribut di XHTML 1.0 ini transisi DTD tetapi tidak dalam XHTML 1.0 ini DTD ketat (mencari stringATTLIST ol
dan memeriksa daftar atribut). Jadi, terlepas dari apa yang dikatakan beberapa komentar lama,start
atribut tersebut tidak digunakan lagi ; sebaliknya itu tidak validdalam DTD ketat HTML 4.01 dan XHTML 1.0. Terlepas dari apa yang diklaim oleh salah satu komentar,start
atribut tersebut tidak diperbolehkan padaul
elemen tersebut dan saat ini tidak berfungsi di Firefox dan Chromium.Perhatikan juga bahwa pemisah ribuan tidak berfungsi (di versi Firefox dan Chromium saat ini). Dalam potongan kode berikut,
10.000
akan diartikan sebagai10
; hal yang sama berlaku untuk10,000
. Jadi jangan gunakan jeniscounter
nilai berikut :Jadi yang harus Anda gunakan adalah yang berikut (dalam kasus yang jarang terjadi di mana nilai yang lebih tinggi dari 1000 sama sekali diperlukan):
Beberapa jawaban lain menyarankan penggunaan properti CSS
counter
, tetapi ini bertentangan dengan pemisahan tradisional konten dan tata letak (masing-masing dalam HTML dan CSS). Pengguna dengan gangguan penglihatan tertentu dapat menggunakan lembar gayanya sendiri, dancounter
nilainya mungkin hilang sebagai hasilnya. Dukungan pembaca layarcounter
juga harus diuji. Dukungan pembaca layar untuk konten di CSS adalah fitur yang relatif baru dan perilaku tidak selalu konsisten. Lihat Pembaca Layar dan CSS: Apakah Kita Keluar dari Gaya (dan Menjadi Konten)? oleh John Northup di blog WebAIM (Agustus 2017).sumber
Jika daftar bersarang, harus ada penanganan yang meninggalkan item daftar bersarang, yang saya selesaikan dengan memverifikasi bahwa kakek nenek bukan item daftar.
sumber
Dengan CSS, agak sulit untuk menutupi kasus bahwa ada item daftar bertingkat, sehingga hanya tingkat daftar pertama yang mendapatkan penomoran khusus yang tidak mengganggu setiap daftar terurut baru. Saya menggunakan kombinator CSS '>' untuk menentukan kemungkinan jalur ke item daftar yang akan mendapatkan penomoran khusus. Lihat https://www.w3schools.com/css/css_combinators.asp
sumber
Jelas baik @start dari daftar terurut <ol> maupun @value dari item daftar <li> tidak dapat disetel melalui CSS. Lihat https://www.w3schools.com/css/css_list.asp
Mengganti penomoran dengan penghitung di CSS tampaknya menjadi solusi terbaik / tercepat / sangat mudah dan ada orang lain yang mempromosikannya, misalnya https://css-tricks.com/numbering-in-style/
Dengan JavaScript murni, dimungkinkan untuk menyetel @value dari setiap item daftar, tetapi ini tentu saja lebih lambat dari CSS. Bahkan tidak diperlukan untuk memeriksa apakah item daftar termasuk dalam daftar yang dipesan <ol>, karena daftar yang tidak berurutan akan ditinggalkan secara otomatis.
sumber