Yin yoga beneficios

checkbox personalizado css codepen

No soy el autor de esta respuesta, pero en el momento de escribir esto, esta es la respuesta más votada con diferencia tanto en votos positivos como negativos (+1035 -17), y sigue marcada como respuesta aceptada (probablemente porque el autor original de la pregunta es el que escribió esta respuesta).
Este código asume que estás usando un restablecimiento como el de Eric Meyer que no anula los márgenes y el padding de la entrada del formulario (de ahí que ponga los restablecimientos de márgenes y padding en el CSS de la entrada). Obviamente, en un entorno real, es probable que se anide/sobreescriba cosas para soportar otros elementos de entrada, pero quería mantener las cosas simples.
Espero que esto ayude a alguien más. No he probado esta técnica específica en ningún otro proyecto más que en el que estaba trabajando esta mañana, así que no dudes en comentar si encuentras algo que funcione de forma más consistente.
A veces la alineación vertical necesita dos elementos en línea (span, label, input, etc…) uno al lado del otro para funcionar correctamente. Las siguientes casillas están centradas verticalmente de forma correcta en IE, Safari, FF y Chrome, incluso si el tamaño del texto es muy pequeño o grande.

checkbox css personalizado

No soy el autor de esta respuesta, pero en el momento de escribir esto, esta es la respuesta más votada con diferencia tanto en votos positivos como negativos (+1035 -17), y sigue marcada como respuesta aceptada (probablemente porque el autor original de la pregunta es el que escribió esta respuesta).
Este código asume que estás usando un restablecimiento como el de Eric Meyer que no anula los márgenes y el padding de la entrada del formulario (de ahí que ponga los restablecimientos de márgenes y padding en el CSS de la entrada). Obviamente, en un entorno real, es probable que se anide/sobreescriba cosas para soportar otros elementos de entrada, pero quería mantener las cosas simples.
Espero que esto ayude a alguien más. No he probado esta técnica específica en ningún otro proyecto más que en el que estaba trabajando esta mañana, así que no dudes en comentar si encuentras algo que funcione de forma más consistente.
A veces la alineación vertical necesita dos elementos en línea (span, label, input, etc…) uno al lado del otro para funcionar correctamente. Las siguientes casillas están centradas verticalmente de forma correcta en IE, Safari, FF y Chrome, incluso si el tamaño del texto es muy pequeño o grande.

ejemplos de estilo css de casillas de verificación

Cabe destacar que la cuestión fundamental no ha cambiado. Todavía no se pueden aplicar estilos (bordes, etc.) directamente al elemento checkbox y hacer que esos estilos afecten a la visualización del checkbox HTML. Lo que ha cambiado, sin embargo, es que ahora es posible ocultar la casilla de verificación real y sustituirla por un elemento con estilo propio, utilizando únicamente CSS. En particular, debido a que el CSS tiene ahora un selector :checked ampliamente soportado, puedes hacer que tu reemplazo refleje correctamente el estado marcado de la casilla.
Aquí hay un artículo útil sobre el estilo de las casillas de verificación. Básicamente, ese escritor encontró que varía enormemente de un navegador a otro, y que muchos navegadores siempre muestran la casilla de verificación por defecto sin importar cómo la estilices. Así que realmente no hay una manera fácil.
Puede lograr un efecto de casilla de verificación personalizado usando las nuevas habilidades que vienen con las pseudo clases :after y :before. La ventaja de esto, es: No necesitas añadir nada más al DOM, sólo el checkbox estándar.

casilla de verificación html marcada

Cabe destacar que la cuestión fundamental no ha cambiado. Todavía no puedes aplicar estilos (bordes, etc.) directamente al elemento checkbox y hacer que esos estilos afecten a la visualización del checkbox HTML. Lo que ha cambiado, sin embargo, es que ahora es posible ocultar la casilla de verificación real y sustituirla por un elemento con estilo propio, utilizando únicamente CSS. En particular, debido a que el CSS tiene ahora un selector :checked ampliamente soportado, puedes hacer que tu reemplazo refleje correctamente el estado marcado de la casilla.
Aquí hay un artículo útil sobre el estilo de las casillas de verificación. Básicamente, ese escritor encontró que varía enormemente de un navegador a otro, y que muchos navegadores siempre muestran la casilla de verificación por defecto sin importar cómo la estilices. Así que realmente no hay una manera fácil.
Puede lograr un efecto de casilla de verificación personalizado usando las nuevas habilidades que vienen con las pseudo clases :after y :before. La ventaja de esto, es: No necesitas añadir nada más al DOM, sólo el checkbox estándar.