Je veux dire, un bouton radio lui-même se compose d'une forme ronde et d'un point au centre (lorsque le bouton est sélectionné). Ce que je veux changer, c'est la couleur des deux. Cela peut-il être fait en utilisant CSS?
html
css
forms
radio-button
chat et souris
la source
la source
Une solution rapide serait de superposer le style de saisie des boutons radio à l'aide
:after
, mais il est probablement préférable de créer votre propre boîte à outils personnalisée.la source
Comme Fred l'a mentionné, il n'y a aucun moyen de styliser nativement les boutons radio en ce qui concerne la couleur, la taille, etc. Mais vous pouvez utiliser des éléments CSS Pseudo pour configurer un imposteur de n'importe quel bouton radio donné et le styliser. En ce qui concerne ce que JamieD a dit, sur la façon dont nous pouvons utiliser l'élément: after Pseudo, vous pouvez utiliser à la fois: before et: after pour obtenir un look souhaitable.
Avantages de cette approche:
Explication de la courte démo ci-dessous:
Le HTML
Le CSS
Une courte démo pour le voir en action
En conclusion, pas de JavaScript, d'images ou de piles nécessaires. CSS pur.
la source
Uniquement si vous ciblez des navigateurs basés sur des kits Web (Chrome et Safari, peut-être développez-vous une Chrome WebApp, qui sait ...), vous pouvez utiliser les éléments suivants:
Et puis stylisez-le comme s'il s'agissait d'un simple élément HTML, par exemple en appliquant une image d'arrière-plan.
À utiliser
input[type='radio']:active
lorsque l'entrée est sélectionnée, pour fournir les graphiques alternatifsMise à jour : à partir de 2018, vous pouvez ajouter les éléments suivants pour prendre en charge plusieurs fournisseurs de navigateurs:
la source
:active
, vous devez utiliser:checked
pour différencier le style des boutons radio «sélectionnés».Vous pouvez créer des boutons radio personnalisés de deux manières CSS pures
En supprimant l'apparence standard à l'aide de CSS
appearance
et en appliquant une apparence personnalisée. Malheureusement, cela ne fonctionne pas dans IE for Desktop (mais fonctionne dans IE pour Windows Phone). Démo:En masquant le bouton radio et en définissant l'apparence du bouton radio personnalisé sur le pseudosélecteur de
label
. D'ailleurs pas besoin de positionnement absolu ici (je vois un positionnement absolu dans la plupart des démos). Démo:la source
vous pouvez utiliser la case à cocher hack comme expliqué dans les astuces css
http://css-tricks.com/the-checkbox-hack/
exemple de travail de bouton radio:
http://codepen.io/Angelata/pen/Eypnq
Fonctionne dans IE9 +, Firefox 3.5+, Safari 1.3+, Opera 6+, Chrome n'importe quoi.
la source
exemple de bouton radio personnalisé simple de navigateur croisé pour vous
https://jsfiddle.net/kuzroman/ae1b34ay/
la source
Eh bien, pour créer des éléments supplémentaires, nous pouvons utiliser: after,: before (donc nous n'avons pas à changer trop le HTML). Ensuite, pour les boutons radio et les cases à cocher, nous pouvons utiliser: coché. Il y a quelques autres pseudo éléments que nous pouvons également utiliser (tels que: hover). En utilisant un mélange de ceux-ci, nous pouvons créer des formulaires personnalisés assez sympas. vérifie ça
la source
J'ai construit un autre fork de l' exemple de code de @ klewis pour montrer que jouer avec du CSS pur et des dégradés en utilisant: before /: after pseudo éléments et un bouton d'entrée radio caché.
HTML:
:
CSS:
aperçu: https://www.codeply.com/p/y47T4ylfib
la source
Essayez ce css avec transition:
Démo
Html:
la source
Ce n'est pas possible avec le CSS natif. Vous devrez utiliser des images d'arrière-plan et quelques astuces javascript.
la source
Comme d'autres l'ont dit, il n'y a aucun moyen d'y parvenir dans tous les navigateurs, donc la meilleure façon de le faire crossbrowser consiste à utiliser javascript de manière discrète. En gros, vous devez transformer votre radiobutton en liens (entièrement personnalisables via CSS). chaque clic sur le lien sera lié à la radiobox associée, basculant son état et tous les autres.
la source
Il peut être utile de lier le bouton radio à une étiquette stylée. Plus de détails dans cette réponse .
la source
Une façon intelligente de le faire serait de créer un div séparé avec une hauteur et une largeur de -par exemple- 50px, puis un rayon de 50px posez-le sur vos boutons radio ...
la source
Vous pouvez intégrer un élément span dans l'entrée radio puis sélectionner une couleur de votre choix à rendre lorsqu'une entrée radio est cochée. Consultez l'exemple ci-dessous provenant de w3schools.
Changer la couleur d'arrière-plan de ce segment de code ci-dessous fait l'affaire.
Provenant de la création d'un bouton radio personnalisé
la source
Une solution simple serait d'utiliser la propriété CSS suivante.
la source