Pouvons-nous voir un lien en direct ou un jsFiddle pour votre code?
Nitesh
3
Créez un ensemble de boutons radio et placez-les dans un div masqué. Sur l'image, cliquez sur définir ce bouton radio particulier coché signifie que sur la première image, cliquez sur définir votre premier bouton radio coché et de même pour les deux autres. Si vous ne l'avez pas, je peux aussi l'expliquer par code.
+1 pour le pseudo sélecteur, je pense que j'ai utilisé JavaScript dans le passé pour vérifier la sélection! Ça va m'apprendre ...
zik
3
la visibilité masquée signifie qu'il n'est pas cliquable et que la position absolue le sort du flux de documents
99 Problèmes - La syntaxe n'est pas un
1
C'est une excellente réponse. Puis-je ajouter que cela fonctionne également avec type="checkbox".
Wtower
ok c'est bien .. fonctionne très bien, fonctionne apparemment aussi sur IE, mais en fait ce n'est pas le cas. l'image se comporte correctement mais lorsque le formulaire est soumis, il n'y a pas de sélection de vignettes. Je suppose que j'utilise le nouvel IE fourni avec Win 8.1. Une idée?
Junaid Rehman
3
En retard à la fête, mais soyez prudent avec cela. Visibility:hiddencachera les entrées du lecteur d'écran et un grand non du point de vue de l'accessibilité.
DPac
100
Exemple:
La tête haute! Cette solution est uniquement CSS.
Je vous recommande de profiter de CSS3 pour ce faire, en masquant le bouton radio d'entrée par défaut avec les règles CSS3:
C'était super! Je l'ai intégré à un formulaire ASP.NET et cela a fonctionné comme un charme :)
Gus
Cet exemple ne fonctionne pas dans Firefox 49.0.2 sous XUbuntu 16.04.1
Sergey Kudriavtsev
@SergeyKudriavtsev peut-être que le code doit être mis à jour (cette réponse date de 2013). Heureusement, le code est ouvert à tous pour l'améliorer. Je vais y jeter un œil bientôt. À votre santé.
Richard Cotrina
Fonctionne bien pour moi dans Firefox 60, Windows 10.
Trevor
J'ai cela fonctionne pour un ensemble de 3 visages souriants. Maintenant, j'ai besoin de plusieurs lignes sur un formulaire, chacune avec son propre ensemble de visages souriants. Mon problème est que lorsqu'une ligne est modifiée, elles changent toutes. Avez-vous des idées sur la partie qui doit être modifiée pour y parvenir?
dave317
19
Vous pouvez utiliser CSS pour cela.
HTML (uniquement pour la démo, il est personnalisable)
Gardez les boutons radio cachés, et en cliquant sur les images, sélectionnez-les à l'aide de JavaScript et stylisez votre image pour qu'elle ressemble à sélectionnée. Voici le balisage -
<div><inputtype="radio"id="shipadd1"value=1name="address"/><labelfor="shipadd1"></label>
value 1
</div><div><inputtype="radio"id="shipadd2"value=2name="address"/><labelfor="shipadd2"></label>
value 2
</div>
Réponses:
<label>
display:none
ouvisibility:hidden
car cela aura un impact sur l'accessibilité)+
N'oubliez pas d'ajouter une classe à vos étiquettes et en CSS, utilisez cette classe à la place.
Styles et animations personnalisés
Voici une version avancée utilisant l'
<i>
élément et le:after
pseudo:la source
type="checkbox"
.Visibility:hidden
cachera les entrées du lecteur d'écran et un grand non du point de vue de l'accessibilité.Exemple:
Je vous recommande de profiter de CSS3 pour ce faire, en masquant le bouton radio d'entrée par défaut avec les règles CSS3:
Je viens de faire un exemple il y a quelques jours.
la source
Vous pouvez utiliser CSS pour cela.
HTML (uniquement pour la démo, il est personnalisable)
CSS
jsFiddle
la source
Gardez les boutons radio cachés, et en cliquant sur les images, sélectionnez-les à l'aide de JavaScript et stylisez votre image pour qu'elle ressemble à sélectionnée. Voici le balisage -
et JS
CSS
la source
Il suffit d'utiliser une classe pour n'en cacher qu'une partie ... basée sur https://stackoverflow.com/a/17541916/1815624
la source
Voici une solution d'interface utilisateur jQuery simple basée sur l'exemple ici:
http://jqueryui.com/button/#radio
Code modifié:
jQueryUI s'occupe de l'arrière-plan de l'image afin que vous sachiez quel bouton est coché.
Attention: si vous souhaitez activer ou désactiver un bouton via Javascript, vous devez appeler la fonction d'actualisation:
la source
Les images peuvent être placées à la place des boutons radio à l'aide des éléments label et span.
Le bouton radio doit être masqué,
L'image peut être donnée dans la balise span,
Pour changer l'image en cliquant sur le bouton radio, ajoutez l'état coché à la balise d'entrée,
Si vous avez des questions, reportez-vous au lien suivant, comme j'ai pris la solution du blog ci-dessous, http://frontendsupport.blogspot.com/2018/06/cool-radio-buttons-with-images.html
la source
Voici un exemple très simple
Démo: http://jsfiddle.net/La8wQ/2471/
Cet exemple basé sur cette astuce: https://css-tricks.com/the-checkbox-hack/
Je l'ai testé sur: chrome, firefox, safari
la source