Ini sulit dilakukan lintas browser. Roger Johansson telah menyelidiki ini agak luas.
Cristian Libardo
Membaca semua komentar - ada cara yang sangat sederhana untuk melakukan ini tanpa melibatkan CSS: <input type = "checkbox" name = "checkboxName" value = "pada" style = "lebar: 110%; tinggi: 110%">
Agak jelek (karena scaling up), tetapi berfungsi pada sebagian besar browser yang lebih baru:
input[type=checkbox]{/* Double-sized Checkboxes */-ms-transform: scale(2);/* IE */-moz-transform: scale(2);/* FF */-webkit-transform: scale(2);/* Safari and Chrome */-o-transform: scale(2);/* Opera */transform: scale(2);padding:10px;}/* Might want to wrap a span around your checkbox text */.checkboxtext
{/* Checkbox text */font-size:110%;display: inline;}
<inputtype="checkbox"name="optiona"id="opta"checked/><spanclass="checkboxtext">
Option A
</span><inputtype="checkbox"name="optionb"id="optb"/><spanclass="checkboxtext">
Option B
</span><inputtype="checkbox"name="optionc"id="optc"/><spanclass="checkboxtext">
Option C
</span>
ini tampaknya menjadi jawaban yang benar karena yang ditandai sebagai jawaban tidak menawarkan solusi dalam banyak kasus (tidak ada solusi untuk firefox di xp? tidak ada chrome sama sekali?), sudah usang dan hanya berisi tautan dan komentar yang tidak banyak nilainya.
nurettin
4
@ jdw +1 untuk jawaban ini dan bahkan saya harus melakukan ini dan jawaban Anda sangat membantu. Tapi entah bagaimana saya menemukan bahwa kotak centang 'scaled' muncul agak terdistorsi. Saya tidak tahu apakah ini masalah dengan FF atau OS saya (Ubuntu 12.04).
Bagaimanapun,
1
skala () membutuhkan 2 parameter untuk chrome, FF dan IE saya pikir. Jadi, jika Anda hanya mengubah semua skala ke skala (2,2), itu seharusnya berfungsi setiap browser.
Onur Topal
10
tambahkan transform: scale(2);juga, untuk memastikan lebih banyak peramban apa pun
Adriano Resende
8
penskalaan terlihat mengerikan, pada skala 2 Anda sudah melihat masing-masing piksel. Saya tidak akan pernah memilih solusi ini untuk kotak centang css besar yang indah.
Apakah ini mencakup peramban yang lebih lama seperti 8?
Huangism
1
@Huangism Tidak, kode di atas tidak akan berpengaruh apa pun di IE 8 yang tidak mendukung transformproperti. IE 9 mendukung -ms-transformyang dapat Anda gunakan, namun beberapa mengatakan itu cukup pixel sehingga mungkin lebih baik untuk meninggalkan IE 9 dengan default.
Simon East
Bukankah pendekatan di atas buruk, karena ada batasan untuk skala karena menyebabkan kotak centang menjadi pixelated.
Ini agak menarik bahwa Mozilla mengecilkan sementara Firefox hampir satu-satunya browser yang tidak mendukung itu: caniuse.com/#feat=css-zoom
ndreisg
47
Versi 2020 - menggunakan elemen semu, ukuran tergantung pada ukuran font.
Kotak centang / radio default ditampilkan di luar layar, tetapi CSS membuat elemen virtual yang sangat mirip dengan elemen standar. Mendukung semua browser, tanpa blur. Ukuran tergantung pada ukuran font. Tindakan keyboard (spasi, tab) juga didukung.
Tentu saja, berkat ini, Anda dapat mengubah nilai contentkebutuhan Anda dan menggunakan gambar jika Anda ingin atau menggunakan font lain ...
Bunga utama di sini adalah:
Ukuran kotak centang tetap proporsional dengan ukuran teks
Anda dapat mengontrol aspek, warna, ukuran kotak centang
Tidak perlu HTML tambahan!
Hanya 3 baris CSS yang dibutuhkan (yang terakhir hanya untuk memberi Anda ide)
Sunting : Seperti yang ditunjukkan dalam komentar, kotak centang tidak akan dapat diakses oleh navigasi tombol. Anda mungkin harus menambahkan tabindex=0sebagai properti untuk label Anda agar dapat fokus.
@robertjd setuju, bingung mengapa ini diperlukan untuk transformasi sederhana
Neil Chowdhury
@robertjd Itu bahkan bukan kotak centang; mereka matikan.
TylerH
14
Tampilan kotak centang tampaknya sudah diperbaiki secara default. Tetapi seperti yang ditunjukkan oleh Worthy7 ini dapat diperbaiki menggunakan properti CSSappearance . Ini akan membuat kotak centang benar-benar kosong, sehingga Anda dapat menentukan penampilan Anda sendiri. Apa yang baik tentang ini: Anda dapat menggunakan kode HTML yang ada. Kelemahan: Ini adalah teknologi eksperimental . Edge dan IE tidak menggunakan gaya kustom.
Saya sedang mencari untuk membuat kotak centang yang hanya sedikit lebih besar dan melihat kode sumber untuk 37Signals Basecamp untuk menemukan solusi berikut-
Anda dapat mengubah ukuran font untuk membuat kotak centang sedikit lebih besar:
font-size: x-large;
Kemudian, Anda dapat menyelaraskan kotak centang dengan benar dengan melakukan:
vertical-align: top;
margin-top:3px;/* change to center it */
font-size tampaknya tidak mempengaruhi ukuran kotak centang yang sebenarnya
Michael
Tidak bekerja untuk saya
Amirhossein Tarmast
6
Anda dapat membuat kotak centang lebih besar di Safari - yang umumnya tahan terhadap pendekatan yang biasa - dengan atribut ini: -webkit-transform: scale(1.3, 1.3);
Saya pikir solusi paling sederhana adalah menata ulang kotak centang seperti yang disarankan beberapa pengguna. CSS di bawah ini berfungsi untuk saya, hanya membutuhkan beberapa baris CSS, dan menjawab pertanyaan OP:
Seperti disebutkan dalam posting ini, properti zoom sepertinya tidak berfungsi di Firefox, dan transformasi dapat menyebabkan efek yang tidak diinginkan.
Diuji pada Chrome dan Firefox, seharusnya berfungsi untuk semua browser modern. Cukup ubah properti (warna, ukuran, bawah, kiri, dll.) Sesuai kebutuhan Anda. Semoga ini bisa membantu!
Pemahaman saya adalah bahwa ini sama sekali tidak mudah dilakukan lintas-browser. Alih-alih mencoba memanipulasi kontrol kotak centang, Anda selalu dapat membangun implementasi Anda sendiri menggunakan gambar, javascript, dan bidang input tersembunyi. Saya berasumsi ini mirip dengan apa bentuk bagus (dari jawaban Staicu lonut di atas), tetapi tidak akan terlalu sulit untuk diterapkan. Saya percaya jQuery memiliki plugin untuk memungkinkan perilaku kustom ini juga (akan mencari tautan dan memposting di sini jika saya dapat menemukannya).
style=
tag ini adalah CSS ...Jawaban:
Agak jelek (karena scaling up), tetapi berfungsi pada sebagian besar browser yang lebih baru:
sumber
transform: scale(2);
juga, untuk memastikan lebih banyak peramban apa punSolusi yang berfungsi untuk semua browser modern.
Kesesuaian:
Penampilan:
sumber
transform
properti. IE 9 mendukung-ms-transform
yang dapat Anda gunakan, namun beberapa mengatakan itu cukup pixel sehingga mungkin lebih baik untuk meninggalkan IE 9 dengan default.Solusi mudah adalah menggunakan properti
zoom
:sumber
Versi 2020 - menggunakan elemen semu, ukuran tergantung pada ukuran font.
Kotak centang / radio default ditampilkan di luar layar, tetapi CSS membuat elemen virtual yang sangat mirip dengan elemen standar. Mendukung semua browser, tanpa blur. Ukuran tergantung pada ukuran font. Tindakan keyboard (spasi, tab) juga didukung.
https://jsfiddle.net/ohf7nmzy/2/
Versi 2017 - menggunakan zoom atau skala
Browser akan menggunakan
zoom
fitur non-standar jika didukung (kualitas bagus) atau standartransform: scale
(buram).Penskalaan berfungsi pada semua browser, tetapi itu akan buram pada Firefox dan Safari .
https://jsfiddle.net/ksvx2txb/11/
sumber
Saya baru saja keluar dengan ini:
Tentu saja, berkat ini, Anda dapat mengubah nilai
content
kebutuhan Anda dan menggunakan gambar jika Anda ingin atau menggunakan font lain ...Bunga utama di sini adalah:
Ukuran kotak centang tetap proporsional dengan ukuran teks
Anda dapat mengontrol aspek, warna, ukuran kotak centang
Tidak perlu HTML tambahan!
Hanya 3 baris CSS yang dibutuhkan (yang terakhir hanya untuk memberi Anda ide)
Sunting : Seperti yang ditunjukkan dalam komentar, kotak centang tidak akan dapat diakses oleh navigasi tombol. Anda mungkin harus menambahkan
tabindex=0
sebagai properti untuk label Anda agar dapat fokus.sumber
display:none
pada input akan mencegahnya dari dipilih dengantab
kunci jadi saya tidak berpikir ini adalah ide yang bagus.Pratinjau:
http://jsfiddle.net/h4qka9td/
sumber
Tampilan kotak centang tampaknya sudah diperbaiki secara default. Tetapi seperti yang ditunjukkan oleh Worthy7 ini dapat diperbaiki menggunakan properti CSS
appearance
. Ini akan membuat kotak centang benar-benar kosong, sehingga Anda dapat menentukan penampilan Anda sendiri. Apa yang baik tentang ini: Anda dapat menggunakan kode HTML yang ada. Kelemahan: Ini adalah teknologi eksperimental . Edge dan IE tidak menggunakan gaya kustom.Berikut adalah gaya CSS yang dibutuhkan:
Tangkapan layar:
Chrome:
Firefox:
Tepi:
YAITU:
sumber
Saya sedang mencari untuk membuat kotak centang yang hanya sedikit lebih besar dan melihat kode sumber untuk 37Signals Basecamp untuk menemukan solusi berikut-
Anda dapat mengubah ukuran font untuk membuat kotak centang sedikit lebih besar:
Kemudian, Anda dapat menyelaraskan kotak centang dengan benar dengan melakukan:
sumber
Anda dapat membuat kotak centang lebih besar di Safari - yang umumnya tahan terhadap pendekatan yang biasa - dengan atribut ini:
-webkit-transform: scale(1.3, 1.3);
Sumber
sumber
Saya pikir solusi paling sederhana adalah menata ulang kotak centang seperti yang disarankan beberapa pengguna. CSS di bawah ini berfungsi untuk saya, hanya membutuhkan beberapa baris CSS, dan menjawab pertanyaan OP:
Seperti disebutkan dalam posting ini, properti zoom sepertinya tidak berfungsi di Firefox, dan transformasi dapat menyebabkan efek yang tidak diinginkan.
Diuji pada Chrome dan Firefox, seharusnya berfungsi untuk semua browser modern. Cukup ubah properti (warna, ukuran, bawah, kiri, dll.) Sesuai kebutuhan Anda. Semoga ini bisa membantu!
sumber
Pemahaman saya adalah bahwa ini sama sekali tidak mudah dilakukan lintas-browser. Alih-alih mencoba memanipulasi kontrol kotak centang, Anda selalu dapat membangun implementasi Anda sendiri menggunakan gambar, javascript, dan bidang input tersembunyi. Saya berasumsi ini mirip dengan apa bentuk bagus (dari jawaban Staicu lonut di atas), tetapi tidak akan terlalu sulit untuk diterapkan. Saya percaya jQuery memiliki plugin untuk memungkinkan perilaku kustom ini juga (akan mencari tautan dan memposting di sini jika saya dapat menemukannya).
sumber
Saya menemukan perpustakaan khusus CSS ini sangat membantu: https://lokesh-coder.github.io/pretty-checkbox/
Atau, Anda bisa menggulung sendiri dengan konsep dasar yang sama, mirip dengan apa yang diposkan @Sharcoux. Itu pada dasarnya:
input:checked~div label
untuk gaya yang dicentang<label>
diklik menggunakanfor=yourinputID
sumber
Masalahnya adalah Firefox tidak mendengarkan lebar dan tinggi. Nonaktifkan itu dan Anda baik untuk pergi.
sumber
Jawaban lainnya menunjukkan kotak centang pixelated, sementara saya menginginkan sesuatu yang indah. Hasilnya terlihat seperti ini:
Meskipun versi ini lebih rumit, saya pikir patut untuk dicoba.
JSFiddle: https://jsfiddle.net/asbd4hpr/
sumber
Anda dapat menghitung tinggi dan lebar dalam kode di bawah ini
sumber