Bagaimana untuk menggayakan kotak pilihan menggunakan CSS
P粉252116587
2023-08-23 12:39:36
<p>Saya cuba menggayakan kotak pilihan menggunakan yang berikut: </p>
<p><br /></p>
<pre class="brush:html;toolbar:false;"><input type="checkbox" style="border:2px dotted #00f;display:block;background:#ff0000;" /pra>
<p><br /></p>
<p>Tetapi gaya itu tidak digunakan. Kotak pilihan masih memaparkan gaya lalainya. Bagaimana untuk memberikan gaya tertentu? </p>
Dengan menggunakan fungsi baharu yang disertakan dengan
:after
和:before
kelas pseudo, anda boleh mencapai kesan kotak pilihan tersuai yang sangat hebat. Kelebihan ini ialah anda tidak perlu menambah apa-apa lagi pada DOM, hanya kotak semak standard.Sila ambil perhatian bahawa ini hanya berfungsi pada penyemak imbas yang serasi. Saya percaya ini ada kaitan dengan sesetengah penyemak imbas yang tidak membenarkan anda menetapkan
:after
和:before
pada elemen input. Malangnya, ini bermakna pada masa ini hanya pelayar WebKit yang disokong. Firefox + Internet Explorer masih membenarkan kotak semak berfungsi, hanya tanpa penggayaan, yang dijangka akan berubah pada masa hadapan (kod tidak menggunakan awalan vendor).Ini hanyalah penyelesaian penyemak imbas WebKit (Chrome, Safari, penyemak imbas mudah alih)
Lihat contoh Fiddle
Selak biola gaya Webkit tambahan
Kemas kini:
Jawapan di bawah merujuk kepada situasi sebelum CSS 3 digunakan secara meluas. Dalam penyemak imbas moden, termasuk Internet Explorer 9 dan lebih baru, lebih mudah untuk membuat penggantian kotak pilihan dengan gaya kegemaran anda, tanpa menggunakan JavaScript.
Berikut adalah beberapa pautan berguna:
Perlu diingat bahawa masalah asas tidak berubah. Anda masih tidak boleh menggunakan gaya (sempadan, dsb.) terus pada elemen kotak pilihan dan gaya tersebut mempengaruhi paparan kotak semak HTML. Apa yang telah berubah, bagaimanapun, ialah kini mungkin untuk menyembunyikan kotak semak sebenar dan menggantikannya dengan elemen gaya anda sendiri, hanya menggunakan CSS. Khususnya, memandangkan CSS kini telah menyokong
:checked
pemilih secara meluas, anda boleh membuat penggantian dengan betul menggambarkan keadaan kotak yang ditandai.Jawapan lama
Ini ialah artikel berguna tentang Menggayakan Kotak Pilihan. Pada asasnya, pengarang ini mendapati bahawa ia sangat berbeza antara penyemak imbas, dan tidak kira bagaimana anda menggayakannya, banyak penyemak imbas sentiasa menunjukkan kotak pilihan lalai. Jadi sebenarnya bukan cara yang mudah.
Tidak sukar untuk membayangkan penyelesaian di mana anda boleh menggunakan JavaScript untuk menindih imej pada kotak pilihan, dan kemudian mengklik pada imej menyebabkan kotak semak sebenar ditandakan. Pengguna tanpa JavaScript akan melihat kotak pilihan lalai.
Diedit untuk menambah: Berikut ialah skrip bagus yang melakukan ini untuk anda ; ia menyembunyikan elemen kotak semak sebenar, menggantikannya dengan skop yang digayakan dan mengubah hala acara klik.