Bagaimana cara mengubah gaya batas kotak centang (masukan)? Saya sudah memakainya border:1px solid #1e5180
, tetapi di FireFox 3.5, tidak ada yang terjadi!
122
Jika sesuatu terjadi di browser apa pun, saya akan terkejut. Ini adalah salah satu elemen formulir luar biasa yang cenderung tidak diizinkan oleh browser untuk Anda menata gaya, dan yang biasanya orang coba ganti dengan javascript sehingga mereka dapat memberi gaya / kode sesuatu agar terlihat dan berfungsi seperti kotak centang.
Saya sarankan menggunakan "garis besar" daripada "batas". Sebagai contoh:
outline: 1px solid #1e5180
.sumber
!important
css Anda saat menggunakan outline. Saya menguji ini di Firefox 12.0 dan tanpa! Yang penting garis besarnya akan hilang selama saya mengklik kotak centang.Kamu harus menggunakan
Kemudian Anda menyingkirkan gambar / gaya kotak centang default dan dapat menatanya. Pokoknya perbatasan akan tetap ada di Firefox
sumber
Anda dapat menggunakan bayangan kotak untuk memalsukan batas:
sumber
Berikut ini adalah solusi lintas-browser CSS (tanpa gambar) murni berdasarkan Kotak Centang Kustom dan Tombol Radio Martin dengan CSS3 LINK: http://martinivanov.net/2012/12/21/imageless-custom-checkboxes-and-radio-buttons -dengan-css3-revisited /
Ini adalah jsFiddle: http://jsfiddle.net/DJRavine/od26wL6n/
Saya telah menguji ini di browser berikut:
sumber
Saya sudah ketinggalan zaman, saya tahu .. Tapi sedikit solusi adalah dengan meletakkan kotak centang Anda di dalam tag label, lalu memberi gaya label dengan tepi:
lalu beri gaya label:
sumber
label { position: relative; overflow: hidden; width: 16px; height: 16px; border: 1px solid #0f0; }
dan kemudianlabel > input[type=checkbox] { position: absolute; left: -999px; }
Ini akan membiarkan Anda menyesuaikan gaya kotak centang Anda sendiri dan kotak centang asli akan tetap dicentang / tidak dicentang tetapi pengguna tidak akan melihatnya. Mereka hanya akan melihat kotak centang kustom Anda.:hover
dan:checked
untuk memberi gaya status lain dari kotak centang kustom Anda.Ini versi saya yang menggunakan FontAwesome untuk checkbox ticker, saya rasa FontAwesome digunakan oleh hampir semua orang jadi aman untuk berasumsi bahwa Anda juga memilikinya. Tidak diuji di IE / Edge dan saya rasa tidak ada yang peduli.
sumber
Untuk Firefox , Chrome dan Safari , tidak ada yang terjadi.
Untuk IE , batas diterapkan di luar kotak centang (bukan sebagai bagian dari kotak centang), dan efek bayangan "mewah" di kotak centang hilang (ditampilkan sebagai kotak centang model lama).
Untuk Opera gaya perbatasan sebenarnya menerapkan batas pada elemen kotak centang.
Opera juga menangani gaya lain pada kotak centang lebih baik daripada peramban lain: warna diterapkan sebagai warna centang, warna latar diterapkan sebagai warna latar belakang di dalam kotak centang (IE menerapkan latar belakang seolah-olah kotak centang berada di dalam
<div>
dengan latar belakang)) .Kesimpulan
Solusi termudah adalah dengan membungkus kotak centang di dalam
<div>
seperti yang disarankan orang lain.Jika Anda ingin mengontrol tampilan sepenuhnya, Anda harus menggunakan pendekatan gambar / javascript lanjutan, yang juga dimaksudkan oleh orang lain.
sumber
Gaya kotak centang (dan banyak elemen masukan lainnya untuk materi itu) tidak benar-benar mungkin dengan css murni jika Anda ingin mengubah tampilan visual secara drastis.
Taruhan terbaik Anda adalah mengimplementasikan sesuatu seperti jqTransform yang benar-benar menggantikan input Anda dengan gambar dan menerapkan perilaku javascript padanya untuk meniru kotak centang (atau elemen lain dalam hal ini)
sumber
Tidak, Anda masih tidak bisa menata kotak centang itu sendiri, tetapi saya (akhirnya) menemukan cara memberi gaya ilusi sambil tetap mempertahankan fungsinya dengan mengeklik kotak centang. Ini berarti Anda dapat mengalihkannya meskipun kursor tidak diam tanpa mengambil risiko memilih teks atau memicu seret dan lepas!
Contohnya adalah menggunakan "tombol" span serta beberapa teks dalam label, tetapi ini memberi Anda gambaran tentang bagaimana Anda dapat membuat kotak centang tidak terlihat dan menggambar apa pun di belakangnya.
Solusi ini mungkin juga cocok dengan tombol radio.
Yang berikut ini bekerja di IE9, FF30.0 dan Chrome 40.0.2214.91 dan hanya contoh dasar. Anda masih dapat menggunakannya dalam kombinasi dengan gambar latar belakang dan elemen semu.
http://jsfiddle.net/o0xo13yL/1/
sumber
Berikut adalah cara sederhana (untuk digunakan sebelum atau sesudah elemen / kelas semu):
sumber
sumber
letakkan di div dan tambahkan batas ke div
sumber
sumber