10
votes

Comment styler un bouton radio désactivé?

J'ai un ensemble de boutons radio dans une cellule de table. La couleur de fond de la cellule de table diffère de l'arrière-plan de la page.

basé sur une autre entrée, je désactive parfois une ou plusieurs boutons radio. Lorsque désactivé, l'intérieur du bouton radio assume l'arrière-plan de la cellule de table. Le cercle coloration grise un peu. Cela se combine pour faire ressembler le bouton de «disparaître». Une inspection plus étroite montre qu'il est toujours là.

J'ai lu pour définir une entrée CSS pour modifier l'apparence du bouton radio désactivé ... peut-il être fait? Actuellement, je fais quelque chose comme ceci: xxx

devrai-je recourir à des images?

mise à jour Ce n'est pas L'arrière-plan est le problème, mais l'intérieur du bouton. Lorsque désactivé l'intérieur du bouton prend la couleur de fond de la cellule de la table ... OOH, voici une idée. Je change à la fois la cellule de la table et le bouton radio.


0 commentaires

5 Réponses :


11
votes

Vous pouvez utiliser le sélecteur d'attribut CSS [attributename ] code> pour cela.

.radio[disabled] {
    background-color: #FFFFFF;
}


5 commentaires

Juste pour mentionner que les sélecteurs d'attributs ne fonctionnent pas dans IE6, mieux utiliser une classe spécifique dans le fichier CSS que vous pouvez ensuite faire référence. De cette façon, vous pouvez vous assurer que le style désactivé fonctionne pour tous les navigateurs.


De plus, il est possible pour un élément de avoir l'attribut "désactivé", mais pour sa valeur d'être false .


@Brian: Je m'en fiche des problèmes non fonctionnels IE6 de WRT WRT;) @Pointy: j'ai html à l'esprit, pas xhtml. Sa valeur peut aussi être désactivé , i.e. désactivé = "désactivé" . Quelle gêne, que xhtml;)


-1 Votez parce que la solution ne fonctionne pas. Pas capable de changer la couleur de fond d'un bouton radio désactivé. Testé sur Firefox et Chrome.


Fonctionne bien sur Firefox 61 Vous pouvez également cascader les attributs: entrée [type = "radio"] [désactivé] {curseur: non autorisé; }



0
votes

Essayez d'ajouter la couleur de la bordure comme je pense que le style de bord initial.

border: 0px solid #ffffff;


0 commentaires

0
votes

Remplacez-les avec des images d'arrière-plan.


0 commentaires

3
votes

Peut-être qu'une solution n'est pas désactivée et juste

  1. changer l'opacité
  2. Capturez des événements et mettez en œuvre votre propre comportement

    quelque chose comme: xxx

    dans votre CSS écrire: xxx

    puis par exemple si Vous utilisez jQuery dans votre écriture javascript: xxx


1 commentaires

désolé ... je pensais que cela n'a pas été envoyé



1
votes

Un moyen facile de modifier le style d'un bouton radio désactivé est une simple superposition de positionnée absolue avec l'attribut: après l'attribut. Vous pouvez ajuster la couleur et les frontières de fond comme vous le voyez.

input[disabled] {

  position: relative;
  height:15px;
  width: 15px;
  box-sizing: border-box;
  margin: 0;
  &:after {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color:red;

  }
}


0 commentaires