Saya perlu menggunakan, misalnya, simbol bintang (★) sebagai peluru untuk item daftar.
Saya telah membaca modul CSS3: Daftar , yang menjelaskan, cara menggunakan teks kustom sebagai poin, tetapi tidak berhasil untuk saya. Saya pikir, browser tidak mendukung ::marker
elemen pseudo.
Bagaimana saya bisa melakukannya, tanpa menggunakan gambar?
html
css
html-lists
AntonAL
sumber
sumber
Jawaban:
EDIT
Saya mungkin tidak akan merekomendasikan menggunakan gambar lagi. Saya akan tetap menggunakan pendekatan menggunakan karakter Unicode, seperti ini:
JAWABAN LAMA
Saya mungkin akan menggunakan gambar latar belakang, mereka jauh lebih
efisiendan serbaguna dan ramah lintas-browser.Berikut contohnya:
sumber
<li>
teks membungkus: Poin tidak tetap tidak diberi indentasi, dan akhirnya tampak seperti awal paragraf teks. Jawaban ini memperbaiki masalah ini: stackoverflow.com/a/14301918/1450294Menggunakan Teks Sebagai Peluru
Gunakan
li:before
dengan Entitas HTML Hex yang lolos (atau teks biasa apa pun).Contoh
Contoh saya akan menghasilkan daftar dengan tanda centang sebagai peluru.
CSS :
Kompatibilitas Browser
Belum menguji diri saya sendiri, tetapi harus didukung pada IE8. Setidaknya itulah yang dikatakan oleh quirksmode & css-trick .
Anda dapat menggunakan komentar bersyarat untuk menerapkan solusi yang lebih lama / lebih lambat seperti gambar, atau skrip. Lebih baik lagi, gunakan keduanya dengan
<noscript>
untuk gambar.HTML :
Tentang gambar latar belakang
Gambar latar belakang memang mudah ditangani, tetapi ...
background-size
sebenarnya hanya untuk IE9.list-style
(pilihan yang lebih logis) lebih mudah.Nikmati.
sumber
li
elemen membungkus beberapa baris; garis yang dibungkus itu tidak akan diberi jarak dengan benar.float: left; margin-left: -12px;
pada: sebelum mengurusnya, @RichardEverettAnda dapat membangunnya:
sumber
'\21B3'
! Terima kasih! Ini bekerja lebih baik daripada jawaban lain di sini. Juga mengubahpadding-left
dalam desain saya menjadi1em
, yang beradaptasi dengan baik saat level pohon Anda berubah ukuran.Ini adalah solusi W3C. Anda dapat menggunakannya di 3012!
https://drafts.csswg.org/css-lists/#text-markers
sumber
li:before
solusinya.Gambar tidak disarankan karena mungkin muncul piksel di beberapa perangkat (perangkat Apple dengan layar Retina) atau saat diperbesar. Dengan karakter, daftar Anda terlihat mengagumkan setiap saat.
Inilah solusi terbaik yang saya temukan sejauh ini. Ini berfungsi dengan baik dan lintas-browser (IE 8+).
Yang penting adalah memiliki karakter dalam blok mengambang dengan lebar tetap sehingga teks tetap sejajar jika terlalu panjang untuk muat dalam satu baris. 1.2em adalah lebar yang Anda inginkan untuk karakter Anda, ubah sesuai kebutuhan Anda. Jangan lupa untuk mengatur ulang padding dan margin untuk elemen ul dan li.
EDIT: Perhatikan bahwa ukuran "1.2em" dapat bervariasi jika Anda menggunakan font yang berbeda di ul dan li: before. Lebih aman menggunakan piksel.
sumber
Untuk menambahkan bintang, gunakan karakter Unicode
22C6
.Saya menambahkan spasi untuk membuat sedikit celah antara bintang
li
dan bintang. Kode untuk spasi adalahA0
.sumber
Contoh yang lebih lengkap dari jawaban 222 :
Saya telah menyertakan properti peretasan bintang untuk memulihkan gaya daftar default di versi IE yang lebih lama. Anda dapat menarik ini keluar dan memasukkannya dalam penyertaan bersyarat jika diinginkan, atau mengganti dengan solusi berbasis gambar latar belakang. Pendapat saya yang sederhana adalah bahwa gaya peluru khusus yang diterapkan dengan cara ini harus menurunkan dengan baik pada beberapa browser yang tidak mendukung pseudoselectors.
Diuji di Firefox, Chrome, Safari, dan IE8-10 dan dirender dengan benar di semua.
sumber
text-indent: -1em;
adalah properti penting jika Anda memiliki item daftar multi-baris. Tanpanya baris kedua dan selanjutnya sejajar dengan butir daripada baris sebelumnya.sumber
Saya telah melalui seluruh daftar ini dan ada elemen yang benar sebagian dan sebagian salah hingga, pada tahun 2020.
Saya menemukan bahwa indentasi dan offset adalah masalah terbesar saat menggunakan UTF-8, jadi saya memposting ini sebagai solusi CSS yang kompatibel tahun 2020 menggunakan poin "segitiga tegak" sebagai contoh saya.
digunakan
em
sebagai unit untuk menghindari konflik dengan ukuran fontsumber
Coba kode ini ...
sumber
Topik ini mungkin sudah lama, tapi berikut perbaikan singkatnya
ul {list-style:outside none square;}
atauul {list-style:outside none disc;}
, dll ...lalu tambahkan padding kiri ke elemen daftar
sumber