Apakah ada cara untuk membuat daftar-gaya dalam HTML dengan tanda hubung (yaitu - atau - –
atau - —
) yaitu
<ul>
<li>abc</li>
</ul>
Keluaran:
- abc
Terpikir oleh saya untuk melakukan ini dengan sesuatu seperti li:before { content: "-" };
, meskipun saya tidak tahu kontra dari opsi itu (dan akan sangat berkewajiban untuk umpan balik).
Secara lebih umum, saya tidak keberatan mengetahui bagaimana menggunakan karakter umum untuk item daftar.
html
css
xhtml
html-lists
Brian M. Hunt
sumber
sumber
Jawaban:
Anda dapat menggunakan
:before
dancontent:
mengingat bahwa ini tidak didukung di IE 7 atau di bawah. Jika Anda setuju dengan itu maka ini adalah solusi terbaik Anda. Lihat Can I Use atau QuirksMode tabel kompatibilitas CSS untuk detail lengkap.Solusi yang agak nastier yang bisa digunakan di browser lama adalah dengan menggunakan gambar untuk poin-poin dan hanya membuat gambar terlihat seperti tanda hubung. Lihat halaman W3C
list-style-image
untuk contohnya.sumber
:before
adalah ketika item daftar membentang beberapa baris, indentasi pada baris ke-2 dimulai di mana tanda hubung, sehingga merusak efek daftar indentasi. Anda perlu menggunakan indentasi gantung untuk menghindari ini. Lihat ini: alistapart.com/articles/taminglistscontent
digunakancontent: "\2014\a0"
Ada perbaikan mudah (teks-indent) untuk menjaga efek daftar indentasi dengan
:before
kelas pseudo.sumber
list-style-type: none;
ke<ul>
elemen.ul li:before{ content:"- ";}
display: block; float: left;
keli:before
yang dapat lebih mudah menariknya keluar dari aliran konten, jika tidak cukup sulit / kereta untuk mendapatkan baris pertama dan berikutnya untuk berbaris dengan benar. Atau jawaban Keyan Zhang juga melakukan ini dengan penentuan posisi absolut.list-style-type dash
belum menjadi bagian dari CSSIni versi tanpa posisi relatif atau absolut dan tanpa indentasi teks:
Nikmati ;)
sumber
display: block; float: left;
keli:before
yang dapat lebih mudah menariknya keluar dari aliran konten, jika tidak cukup sulit / kereta untuk mendapatkan baris pertama dan berikutnya untuk berbaris dengan benar. Atau jawaban Keyan Zhang juga melakukan ini dengan penentuan posisi absolut..active
kelas navigasi denganli:before { visibility: hidden; }
danli.active:before { visibility: visible; }
Gunakan ini:
sumber
demo biola
sumber
Izinkan saya menambahkan versi saya juga, terutama bagi saya untuk menemukan solusi pilihan saya sendiri lagi:
https://codepen.io/burningTyger/pen/dNzgrQ
sumber
Dalam kasus saya menambahkan kode ini ke CSS
sudah cukup. Sederhana seperti itu.
sumber
Salah satu jawaban teratas tidak berfungsi untuk saya, karena, setelah sedikit coba-coba, li: sebelumnya juga memerlukan tampilan aturan css: inline-block.
Jadi ini adalah jawaban yang berfungsi penuh untuk saya:
sumber
sumber
Ini versi biola saya :
The (modernizr) kelas
.generatedcontent
atas<html>
praktis berarti IE8 + dan setiap browser waras lainnya.CSS:
sumber
Saya tidak tahu apakah ada cara yang lebih baik, tetapi Anda bisa membuat grafik titik peluru khusus yang menggambarkan tanda hubung, dan kemudian beri tahu browser bahwa Anda ingin menggunakannya di daftar Anda dengan properti tipe-tipe-daftar . Contoh di halaman itu menunjukkan cara menggunakan grafik sebagai bullet.
Saya tidak pernah mencoba menggunakan: sebelumnya dengan cara yang Anda miliki, meskipun mungkin berhasil. Kelemahannya adalah tidak akan didukung oleh beberapa browser lama. Reaksi saya adalah bahwa ini masih cukup penting untuk dipertimbangkan. Di masa depan, ini mungkin tidak sepenting itu.
EDIT: Saya telah melakukan sedikit pengujian dengan pendekatan OP. Di IE8, saya tidak bisa mendapatkan teknik untuk bekerja, jadi itu pasti belum cross-browser. Selain itu, di Firefox dan Chrome, pengaturan tipe-tipe-daftar untuk tidak bersama-sama tampaknya diabaikan.
sumber
Solusi saya adalah menambahkan tag rentang ekstra dengan mdash di dalamnya:
dan menambahkan ke css:
sumber
Cara lain:
sumber
CSS:
HTML:
sumber
Alih-alih menggunakan lu li, digunakan
dl (definition list) and dd
.<dd>
dapat didefinisikan menggunakan gaya css standar seperti{color:blue;font-size:1em;}
dan gunakan sebagai penanda simbol apa pun yang Anda tempatkan setelah tag html. Ini bekerja seperti ul li, tetapi memungkinkan Anda untuk menggunakan simbol apa pun, Anda hanya perlu indentasi untuk mendapatkan efek daftar lekukan yang biasanya Anda dapatkanul li
.Memberi Anda kode lebih bersih! Dengan begitu, Anda bisa menggunakan semua jenis karakter sebagai penanda! Indent terdiri dari sekitar
-10px
dan berfungsi dengan sempurna!sumber
Bagi siapa pun yang memiliki masalah ini hari ini, solusinya adalah:
daftar-gaya: "-"
sumber
Apa yang berhasil untuk saya adalah
sumber