Ini adalah solusi yang saya miliki di Firefox 3, Opera dan Google Chrome. Daftar tersebut masih ditampilkan di IE7 (tetapi tanpa tanda kurung tutup dan angka rata kiri):
ol {
counter-reset: item;
margin-left: 0;
padding-left: 0;
}
li {
display: block;
margin-bottom: .5em;
margin-left: 2em;
}
li::before {
display: inline-block;
content: counter(item) ") ";
counter-increment: item;
width: 2em;
margin-left: -2em;
}
<ol>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
<li>Six</li>
<li>Seven</li>
<li>Eight</li>
<li>Nine<br>Items</li>
<li>Ten<br>Items</li>
</ol>
EDIT: Termasuk perbaikan beberapa baris oleh strager
Juga apakah ada solusi CSS untuk mengubah dari angka ke daftar alfabet / romawi daripada menggunakan atribut type pada elemen ol.
Lihat properti CSS tipe gaya daftar . Atau saat menggunakan penghitung, argumen kedua menerima nilai tipe gaya daftar. Misalnya, berikut ini akan menggunakan roman atas:
li::before {
content: counter(item, upper-roman) ") ";
counter-increment: item;
/* ... */
ol {counter-reset: item; padding-left: 0;} li {display: block; margin-bottom: .5em;} li:before {display: inline-block; content: counter(item) ") "; counter-increment: item; padding-right: 0.8em;}
.CSS untuk daftar gaya ada di sini , tetapi pada dasarnya:
Namun, tata letak spesifik yang Anda cari mungkin hanya dapat dicapai dengan mempelajari bagian dalam tata letak dengan sesuatu seperti ini (perhatikan bahwa saya belum benar-benar mencobanya):
sumber
Anda juga dapat menentukan nomor Anda sendiri di HTML - misalnya jika nomor tersebut disediakan oleh database:
The
seq
atribut dibuat terlihat menggunakan metode yang sama dengan yang diberikan dalam jawaban lainnya. Tapi alih-alih menggunakancontent: counter(foo)
, kami menggunakancontent: attr(seq)
.Demo di CodePen dengan lebih banyak gaya
sumber
value
atribut di<li>
. mis<li value="20">
. Maka Anda tidak membutuhkan elemen semu apa pun. Demovalue="4A"
, karena itu tidak akan berhasil. Selain itu, atribut nilai dapat berfungsi dengantype
atribut tersebut, tetapi nilai tetap harus berupa angka (karena berfungsi dalam set yang dipesan).reversed
atribut hanya html5, seperti yang menggunakanvalue
theli
). Alih-alih menggunakan Anda,seq
saya menetapkanvalue
dan digunakanattr(value)
sebagai gantiattr(seq)
Mencuri banyak ini dari jawaban lain, tetapi ini berfungsi di FF3 untuk saya. Ini memiliki
upper-roman
, indentasi seragam, braket dekat.sumber
Saya sarankan untuk bermain dengan atribut: before dan melihat apa yang dapat Anda capai dengannya. Ini berarti kode Anda benar-benar terbatas pada peramban baru yang bagus, dan mengecualikan bagian pasar (yang sangat besar) yang masih menggunakan peramban lama sampah,
Sesuatu seperti berikut ini, yang memaksa tetap pada item. Ya, saya tahu itu kurang elegan untuk memilih lebar sendiri, tetapi menggunakan CSS untuk tata letak Anda seperti pekerjaan polisi yang menyamar: betapapun bagusnya motif Anda, itu selalu menjadi berantakan.
Tetapi Anda harus bereksperimen untuk menemukan solusi yang tepat.
sumber
Angka-angka berbaris lebih baik jika Anda menambahkan nol di depan ke angka-angka, dengan menyetel tipe-gaya-daftar ke:
sumber
HTML5: Gunakan
value
atribut (tidak perlu CSS)Browser modern akan menafsirkan
value
atribut tersebut dan akan menampilkannya seperti yang Anda harapkan. Lihat dokumentasi MDN .Juga kita lihat dalam
<ol>
artikel tentang MDN , terutama dokumentasi untukstart
dan atribut.sumber
Meminjam dan memperbaiki jawaban Marcus Downing . Diuji dan berfungsi di Firefox 3 dan Opera 9. Mendukung banyak baris juga.
sumber
Ada atribut Type yang memungkinkan Anda untuk mengubah gaya penomoran, namun Anda tidak dapat mengubah tanda titik setelah angka / huruf.
sumber
Dokumen mengatakan tentang
list-style-position
: outside
Lebih jauh ke atas halaman itu adalah hal-hal tentang penanda.
Salah satu contohnya adalah:
sumber
Tidak ... cukup gunakan DL:
sumber
Aku memilikinya. Coba yang berikut ini:
Masalahnya adalah ini pasti tidak akan berfungsi pada browser yang lebih lama atau kurang patuh:
display: inline-block
ini adalah properti yang sangat baru.sumber
Solusi alternatif cepat dan kotor . Anda dapat menggunakan karakter tabulasi bersama dengan teks yang telah diformat sebelumnya. Berikut kemungkinannya:
dan html Anda:
Perhatikan bahwa spasi antara
li
tag dan awal teks adalah karakter tabulasi (yang Anda dapatkan saat Anda menekan tombol tab di dalam notepad).Jika Anda perlu mendukung browser lama, Anda dapat melakukan ini sebagai gantinya:
sumber
Jawaban lain lebih baik dari sudut pandang konseptual. Namun, Anda bisa menggantinya dengan nomor yang sesuai dari '& ensp;' untuk membuat mereka berbaris.
* Catatan: Awalnya saya tidak menyadari bahwa daftar bernomor sedang digunakan. Saya pikir daftar itu dibuat secara eksplisit.
sumber
Saya akan memberikan di sini jenis jawaban yang biasanya tidak saya suka baca, tetapi saya pikir karena ada jawaban lain yang memberi tahu Anda cara mencapai apa yang Anda inginkan, mungkin menyenangkan untuk memikirkan kembali apakah yang Anda coba capai benar-benar sebuah ide bagus.
Pertama, Anda harus berpikir apakah sebaiknya menampilkan item dengan cara yang tidak standar, dengan karakter pemisah yang berbeda dari yang disediakan.
Saya tidak tahu alasannya, tapi anggap saja Anda punya alasan yang bagus.
Cara-cara yang diajukan di sini untuk mencapai yang terdiri dari menambahkan konten ke markup Anda, terutama melalui CSS: sebelum pseudoclass. Konten ini benar-benar mengubah struktur DOM Anda, menambahkan item itu ke dalamnya.
Saat Anda menggunakan penomoran "ol" standar, Anda akan memiliki konten yang dirender di mana teks "li" dapat dipilih, tetapi nomor sebelumnya tidak dapat dipilih. Artinya, sistem penomoran standar tampaknya lebih "hiasan" daripada konten nyata. Jika Anda menambahkan konten untuk angka menggunakan misalnya metode ": sebelum", konten ini akan dapat dipilih, dan terkait dengan ini, melakukan masalah vopy / paste yang tidak diinginkan, atau masalah aksesibilitas dengan pembaca layar yang akan membaca konten "baru" ini sebagai tambahan ke sistem penomoran standar.
Mungkin pendekatan lain dapat berupa gaya angka menggunakan gambar, meskipun alternatif ini akan membawa masalah sendiri (angka tidak ditampilkan saat gambar dinonaktifkan, ukuran teks untuk angka tidak berubah, ...).
Bagaimanapun, alasan jawaban ini bukan hanya untuk mengusulkan alternatif "gambar" ini, tetapi untuk membuat orang berpikir tentang konsekuensi mencoba mengubah sistem penomoran standar untuk daftar berurutan.
sumber
Kode ini membuat gaya penomoran sama dengan header konten li.
sumber