Bonjour,
Grâce à
http://www.tomsyweb.com/component/content/article/48-css/101-les-30-selecteurs-css-a-connaitre,
la solution ne passe par input[checked=checked]
.choix_4 input[checked=checked] + label {
background-color: #0f0;
}
mais par la pseudo-classe ':checked' :
div.choix_4 input[type=radio]:checked + label {
background-color: #0f0;
}
Ainsi quand je coche un bouton radio, le label correspondant passe en
couleur.
Stéphane Santon a écrit :
> J'ai cette structure html :
>
> <div class="choix choix_4">
> <input id="champ_radio_2_1" class="radio" type="radio" value="4"
> name="radio_2">
> <label for="champ_radio_2_1"> Très satisfait</label>
> </div>
>
> <div class="choix choix_3">
> <input id="champ_radio_2_2" class="radio" type="radio" value="3"
> checked="checked" name="radio_2">
> <label for="champ_radio_2_2">:-) Plutôt satisfait</label>
> </div>
>
> Et en CSS :
> .choix_4 input[checked=checked] + label {
> background-color: #0f0;
> }
> .choix_3 input[checked=checked] + label {
> background-color: #0ff;
> }
>
> Donc à l'affichage, j'ai bien le deuxième label en fond cyan car l'input qui
> le précède est en checked=checked.
> Mais si je clique sur le premier choix (choix_4), c'est le code html du
> choix_3 qui le conserve checked, donc choix_4 ne passe pas au vert.
>
> Comment faire en CSS ?
--
Stéphane
Agitateurs d'idées... accélérateurs de talents !