¿Es posible establecer el tamaño de una casilla de verificación usando CSS o HTML en todos los navegadores?
width
y size
funciona en IE6 +, pero no con Firefox, donde la casilla de verificación permanece 16x16 incluso si configuro un tamaño más pequeño.
style=
etiqueta es CSS ...Respuestas:
Es un poco feo (debido a la ampliación), pero funciona en la mayoría de los navegadores más nuevos:
fuente
transform: scale(2);
también, para garantizar más para cualquier navegadorSolución de trabajo para todos los navegadores modernos.
Compatibilidad:
Apariencia:
fuente
transform
propiedad IE 9 es compatible con-ms-transform
lo que podría usar, sin embargo, algunos dicen que está bastante pixelado, por lo que sería mejor dejar IE 9 con el valor predeterminado.Una solución fácil es usar la propiedad
zoom
:fuente
Versión 2020 : utilizando pseudoelementos, el tamaño depende del tamaño de la fuente.
La casilla de verificación / radio predeterminada se representa fuera de la pantalla, pero CSS crea elementos virtuales muy similares a los elementos predeterminados. Admite todos los navegadores, sin desenfoque. El tamaño depende del tamaño de la fuente. Las acciones del teclado (espacio, pestañas) también son compatibles.
https://jsfiddle.net/ohf7nmzy/2/
Versión 2017 : uso de zoom o escala
El navegador utilizará una
zoom
función no estándar si es compatible (buena calidad) o estándartransform: scale
(borrosa).El escalado funciona en todos los navegadores, pero será borroso en Firefox y Safari .
https://jsfiddle.net/ksvx2txb/11/
fuente
Acabo de salir con esto:
Por supuesto, gracias a esto, puede cambiar el valor de
content
sus necesidades y usar una imagen si lo desea o usar otra fuente ...El interés principal aquí es que:
El tamaño de la casilla de verificación permanece proporcional al tamaño del texto.
Puedes controlar el aspecto, el color, el tamaño de la casilla de verificación
¡No se necesita HTML adicional!
Solo se necesitan 3 líneas de CSS (la última es solo para darle ideas)
Editar : como se señaló en el comentario, la casilla de verificación no será accesible mediante la navegación de teclas. Probablemente debería agregar
tabindex=0
como propiedad a su etiqueta para que sea enfocable.fuente
display:none
entrada evitará que se seleccione con latab
tecla, así que no creo que sea una buena idea.Vista previa:
http://jsfiddle.net/h4qka9td/
fuente
La apariencia de las casillas de verificación parece estar corregida por defecto. Pero como señaló Worthy7, esto puede remediarse utilizando la propiedad CSS
appearance
. Hará que las casillas de verificación estén completamente vacías, para que pueda definir su propia apariencia. Lo bueno de esto: puede usar su código HTML existente. Desventaja: es tecnología experimental . Edge e IE no usan el estilo personalizado.Estos son los estilos CSS necesarios:
Capturas de pantalla
Cromo:
Firefox
Borde:
ES DECIR:
fuente
Estaba buscando hacer una casilla de verificación que fuera un poco más grande y miré el código fuente de 37Signals Basecamp para encontrar la siguiente solución:
Puede cambiar el tamaño de fuente para que la casilla de verificación sea un poco más grande:
Luego, puede alinear la casilla de verificación correctamente haciendo:
fuente
Puede hacer que las casillas de verificación sean más grandes en Safari, que generalmente es resistente a los enfoques habituales, con este atributo:
-webkit-transform: scale(1.3, 1.3);
Fuente
fuente
Creo que la solución más simple es cambiar el estilo de la casilla de verificación como sugieren algunos usuarios. El CSS a continuación funciona para mí, solo requiere unas pocas líneas de CSS y responde la pregunta de OP:
Como se menciona en esta publicación, la propiedad de zoom parece no funcionar en Firefox, y las transformaciones pueden causar efectos no deseados.
Probado en Chrome y Firefox, debería funcionar para todos los navegadores modernos. Simplemente cambie las propiedades (colores, tamaño, abajo, izquierda, etc.) según sus necesidades. ¡Espero eso ayude!
fuente
Tengo entendido que no es nada fácil hacer cross-browser. En lugar de tratar de manipular el control de la casilla de verificación, siempre puede crear su propia implementación utilizando imágenes, javascript y campos de entrada ocultos. Supongo que esto es similar a lo que es niceforms (de la respuesta de Staicu lonut anterior), pero no sería particularmente difícil de implementar. Creo que jQuery tiene un complemento para permitir este comportamiento personalizado también (buscará el enlace y lo publicará aquí si puedo encontrarlo).
fuente
Encontré que esta biblioteca solo CSS es muy útil: https://lokesh-coder.github.io/pretty-checkbox/
O bien, puede rodar el suyo con este mismo concepto básico, similar a lo que publicó @Sharcoux. Básicamente es:
input:checked~div label
para el estilo marcado<label>
se pueda hacer clic confor=yourinputID
fuente
El problema es que Firefox no escucha el ancho y la altura. Desactiva eso y listo.
fuente
Las otras respuestas mostraban una casilla de verificación pixelada, mientras que yo quería algo hermoso. El resultado se ve así:
Aunque esta versión es más complicada, creo que vale la pena intentarlo.
JSFiddle: https://jsfiddle.net/asbd4hpr/
fuente
puedes cambiar la altura y el ancho en el siguiente código
fuente