Sur le focus d'entrée de changer la couleur de l'étiquette. Comment?
Sur l'entrée focus
je veux changer la couleur de l'élément label. Comment puis-je y parvenir en moins?
.control-label{
color: @gray-light;
}
.controls{
input,
textarea{
background-color:red;
&:focus{
.control-label &{
color: red; //HERE
}
}
}
HTML:
<div class="control-group">
<label class="control-label" for="inputEmail">Firstname</label>
<div class="controls">
<input type="text" id="inputEmail" placeholder="Firstname">
</div>
</div>
OriginalL'auteur | 2014-01-16
Vous devez vous connecter pour publier un commentaire.
Une solution serait de déplacer la
label
ci-dessous lainput
dans les DOM, mais la position absolue (à la mère) de sorte que lelabel
semble être au-dessus de lainput
champ:En CSS déplacer le
label
vers le haut, lainput
vers le bas:Et l'utilisation de la
:focus
de l'état pour changer le style de lalabel
:Voir l'exemple:
http://codepen.io/robcampo/pen/zGKLgg
Sur le focus, le
label
s'allume en rouge. Pas de JS nécessaire.OriginalL'auteur Rob Campion
Une solution serait d'utiliser le
:focus-within
sélecteur.Donc, vous devez faire quelque chose comme ci-dessous. En supposant que vous ayez toujours une entrée d'une description à l'intérieur d'un
control-group
, il sera le style de l'étiquette chaque fois que l'entrée est concentrée sur.Plus d'informations peuvent être trouvées ici: https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within
OriginalL'auteur Michael Robinson