Estilo de entrada de casilla de verificación CSS


Cualquier estilo para input afecta a cada elemento de entrada. ¿Hay alguna manera de especificar el estilo para aplicar solo a las casillas de verificación sin aplicar una clase a cada elemento de casilla de verificación?

 143
css
Author: Leigh, 2009-07-13

9 answers

Con CSS 2 puedes hacer esto:

input[type='checkbox'] { ... }

Esto debería ser bastante ampliamente apoyado por ahora.. Para ver el soporte para navegadores, vaya aquí: https://webdesign.tutsplus.com/articles/quick-tip-easy-css3-checkboxes-and-radio-buttons--webdesign-8953

 247
Author: Andrew Hare,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-04 14:40:52

Algo que descubrí recientemente para el estilo de Botones de opción Y Casillas de verificación. Antes, tenía que usar jQuery y otras cosas. Pero esto es estúpidamente simple.

input[type=radio] {
    padding-left:5px;
    padding-right:5px;
    border-radius:15px;

    -webkit-appearance:button;

    border: double 2px #00F;

    background-color:#0b0095;
    color:#FFF;
    white-space: nowrap;
    overflow:hidden;

    width:15px;
    height:15px;
}

input[type=radio]:checked {
    background-color:#000;
    border-left-color:#06F;
    border-right-color:#06F;
}

input[type=radio]:hover {
    box-shadow:0px 0px 10px #1300ff;
}

Puede hacer lo mismo para una casilla de verificación, obviamente cambie input[type=radio] a input[type=checkbox] y cambie border-radius:15px; a border-radius:4px;.

Espero que esto sea algo útil para ti.

 19
Author: Leo_V117,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-24 17:02:16

Las clases también funcionan bien, tales como:

<style>
  form input .checkbox
  {
    /* your checkbox styling */
  }
</style>

<form>
  <input class="checkbox" type="checkbox" />
</form>
 8
Author: Jim Fell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-05 16:00:37
input[type="checkbox"] {
 /* your style */
}

Pero esto solo funcionará para los navegadores excepto IE7 y versiones posteriores, para aquellos que tendrá que usar una clase.

 4
Author: cdm9002,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-13 17:26:17

Puede aplicar solo a cierto atributo haciendo:

input[type="checkbox"] {...}

Lo explica aquí.

 3
Author: DeadHead,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-13 17:25:38

Como IE6 no entiende los selectores de atributos, puede combinar un script solo visto por IE6 (con comentarios condicionales) y jQuery o IE7.js por Dean Edwards.

IE7(.js) es una biblioteca JavaScript para hacer que Microsoft Internet Explorer se comporte como un navegador compatible con los estándares. Soluciona muchos problemas de HTML y CSS y hace que PNG transparente funcione correctamente bajo IE5 e IE6.

La elección de usar clases o jQuery o IE7.js depende de tus gustos y disgusta y sus otras necesidades (tal vez la transparencia PNG-24 en todo su sitio sin tener que depender de PNG-8 con transparencia completa que recurre a la transparencia de 1 bits en IE6, solo creada por Fireworks y pngnq, etc.)

 2
Author: FelipeAls,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-07-13 19:12:26

Trident proporciona el pseudo-elemento ::-ms-check para los controles de casilla de verificación y botón de opción. Por ejemplo:

<input type="checkbox">
<input type="radio">

::-ms-check {
    color: red;
    background: black;
    padding: 1em;
}

Esto se muestra de la siguiente manera en IE10 en Windows 8:

introduzca la descripción de la imagen aquí

 2
Author: Anselm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-29 19:20:31

Creo mi propia solución sin etiqueta

input[type=checkbox] {
         position: relative;
	       cursor: pointer;
    }
    input[type=checkbox]:before {
         content: "";
         display: block;
         position: absolute;
         width: 16px;
         height: 16px;
         top: 0;
         left: 0;
         border: 2px solid #555555;
         border-radius: 3px;
         background-color: white;
}
    input[type=checkbox]:checked:after {
         content: "";
         display: block;
         width: 5px;
         height: 10px;
         border: solid black;
         border-width: 0 2px 2px 0;
         -webkit-transform: rotate(45deg);
         -ms-transform: rotate(45deg);
         transform: rotate(45deg);
         position: absolute;
         top: 2px;
         left: 6px;
}
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
<input type="checkbox" name="a">
 2
Author: Cenk YAGMUR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-29 13:38:12

Aunque CSS proporciona una forma de hacer el estilo específico para el tipo de casilla de verificación u otro tipo, habrá problemas con los navegadores que no admiten esto.

Creo que su única opción en este caso va a ser aplicar clases a sus casillas de verificación.

Simplemente agregue la"casilla de verificación" class=a sus casillas de verificación.

Luego crea ese estilo en tu código css.

Una cosa que puedes hacer es esto:

Main.css

input[type="checkbox"] { /* css code here */ }

Ie.css

.checkbox{ /* css code here for ie */ }

Luego use el css específico de IE include:

<!--[if lt IE 7]>
   <link rel="stylesheet" type="text/css" href="ie.css" />
<![endif]-->

Todavía necesitará agregar la clase para que funcione en IE, y no funcionará en otros navegadores que no sean IE que no soporten IE. Pero hará que su sitio web sea progresista con código CSS y, a medida que IE obtenga soporte, podrá eliminar el código CSS específico de ie y también las clases CSS de las casillas de verificación.

 1
Author: Brian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-09 08:20:01