Existe-t-il un moyen de contrôler la taille du bouton radio en CSS ?
J'ai fait le petit pour moi dans Chromium.
Existe-t-il un moyen de contrôler la taille du bouton radio en CSS ?
Ce fichier css semble faire l'affaire :
input[type=radio] {
border: 0px;
width: 100%;
height: 2em;
}
La définition de la bordure à 0 semble permettre à l'utilisateur de modifier la taille du bouton et de faire en sorte que le navigateur le rende dans cette taille. Par exemple, la valeur ci-dessus height : 2em rendra le bouton à deux fois la hauteur de la ligne. Cela fonctionne également pour les cases à cocher ( input[type=checkbox]
). Certains navigateurs offrent un meilleur rendu que d'autres.
Depuis un poste Windows, il fonctionne dans IE8+, FF21+, Chrome29+.
Oui, vous devriez pouvoir définir sa hauteur et sa largeur, comme pour tout élément. Toutefois, certains navigateurs ne tiennent pas vraiment compte de ces propriétés.
Cette démo donne un aperçu de ce qui est possible et de la façon dont cela s'affiche dans différents navigateurs : https://www.456bereastreet.com/lab/styling-form-controls-revisited/radio-button/
Comme vous le verrez, le style des boutons radio n'est pas facile :-D
Une solution de contournement consiste à utiliser JavaScript et CSS pour remplacer les boutons radio et autres éléments de formulaire par des images personnalisées :
Définir à la fois la largeur et la hauteur et utiliser la métrique em comme : width : 1.2em ; height : 1.2em ;
Pas directement. En fait, les éléments de formulaire en général sont soit problématiques, soit impossibles à styliser à l'aide de CSS uniquement. La meilleure approche consiste à :
javascript
var labels = $("ul.radioButtons).delegate("input", "keyup", function () { //keyboard use
if (this.checked) {
select($(this).parent());
}
}).find("label").bind("click", function (event) { //mouse use
select($(this));
});
function select(el) {
labels.removeClass("selected");
el.addClass("selected");
}
html
<ul class="radioButtons">
<li>
<label for="employee1">
employee1
<input type="radio" id="employee1" name="employee" />
</label>
</li>
<li>
<label for="employee2">
employee1
<input type="radio" id="employee2" name="employee" />
</label>
</li>
</ul>
Le redimensionnement du widget par défaut ne fonctionne pas dans tous les navigateurs, mais vous pouvez créer des boutons radio personnalisés avec JavaScript. L'une des méthodes consiste à créer des boutons radio cachés, puis à placer vos propres images sur votre page. En cliquant sur ces images, vous modifiez les images (vous remplacez l'image cliquée par une image avec un bouton radio dans un état sélectionné et vous remplacez les autres images par des boutons radio dans un état non sélectionné) et vous sélectionnez le nouveau bouton radio.
Quoi qu'il en soit, il existe une documentation sur ce sujet. Par exemple, lisez ceci : Stylisation des cases à cocher et des boutons radio avec CSS et JavaScript .
Cette réponse est extrêmement mal informée - bien sûr, vous pouvez le faire directement. Et non, vous ne devriez pas essayer d'utiliser des images dans un premier temps - cela provoquerait un gonflement inutile de votre page.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.