CSS - Sélecteur de label pour le type?
Je suis en utilisant ce post expliquant comment ajouter un sélecteur d'une étiquette pour un élément donné. Cependant, j'aimerais l'utiliser pour sélectionner toutes les étiquettes pour un type donné (en particulier, le type de la radio). À essayer:
label[for=input[type="radio"]] {
/* Styles */
}
et
label[for=[type="radio"]] {
/* Styles */
}
ne fonctionne pas et je ne suis pas sûr de ce que je fais mal ou comment le faire correctement. Quelqu'un peut m'expliquer la solution pour moi? Merci beaucoup!
Pourriez-vous partager votre code html. Parce que je crois qu'il devrait être ( étiquette input[type="radio"] ) un jsfiddle aiderait énormément.
Je voudrais faire de cette façon: jsfiddle.net/Ag3pt
[Ce][1] probablement les réponses que vous êtes à la question. [1]: stackoverflow.com/questions/13031926/select-label-by-input-type
Je voudrais faire de cette façon: jsfiddle.net/Ag3pt
[Ce][1] probablement les réponses que vous êtes à la question. [1]: stackoverflow.com/questions/13031926/select-label-by-input-type
OriginalL'auteur golmschenk | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
Malheureusement, ce que vous êtes désireux ne peut être fait en utilisant les sélecteurs CSS3.
Il y a des plans pour que cette fonctionnalité soit inclus dans le CSS de niveau 4 sélecteurs, mais la spec, ce n'est pas encore finalisé, et certainement pas mis en œuvre dans tous les navigateurs actuels.
L'idée est pour un sélecteur qui ressemblerait à quelque chose comme ceci:
Mais c'est pour l'avenir, pas pour le moment. Désolé.
Vous pouvez lire à ce sujet ici: http://css4-selectors.com/selector/css4/reference-combination/
En attendant, si vous avez besoin de ce genre de chose, vous devez vous assurer que la structure de vos fichiers HTML tels que les éléments de référencer les uns des autres à l'aide de CSS sélecteurs.
Par exemple, si ils sont à côté de l'autre, vous pouvez utiliser ceci:
Qui est aussi proche que vous obtiendrez pour le moment.
Les deux sélecteurs de correspondre à l'entrée, pas l'étiquette. Aussi, la référence du combinator peuvent ne pas être utilisables dans le CSS si il reste exclu de la rapide des Sélecteurs 4 profil qui sera utilisé dans le CSS.
OriginalL'auteur Spudley
Vous devez utiliser des classes spéciales pour les étiquettes à la place. Vous ne pouvez pas le style d'un élément parent basé sur ses enfants les attributs CSS [actuellement].
Votre feuille de style dirais
OriginalL'auteur AbsoluteƵERØ
Première - une correction de
La
for
attribut est seulement être liée à unid
de l'élément de formulaire, il est associé avec, de sorte que vous font un mauvais usage de l'attribut de ce que vous cherchez à le faire. La conception defor
est de l'attacher à un élément spécifique à dans le formulaire. Donc quelque chose comme ceci:De sorte que le
for
n'est pas la solution à tout contrôle pour untype
.Deuxième - la seule CSS seule solution
Le seul moyen propre, il peut être fait avec du pur CSS est si vos éléments sont classés comme (
label
suivantes lainput
):Ce qui permet alors cette css pour sélectionner:
Si cela ne peut être fait, alors je voudrais aller avec AbsoluteƵERØ de la solution à l'aide d'une classe.
OriginalL'auteur ScottS
Ce que vous essayez de faire n'est pas possible (avec CSS seul de toute façon). Le
[attribute=value]
syntaxe fonctionne en vérifiant la valeur de l'attribut d'élément. Ainsi,for=[type="radio"]]
est à la recherche de quelque chose comme<label for='[type="radio"]'>
(si la syntaxe est encore valide).[for=[type="radio"]]
n'est pas valide - la valeur doit être cité[for='[type="radio"]']
ou échappé[for=\[type=\"radio\"\]]
pour qu'elle soit valide. (Notez que le Puzzle du programme de validation des bobines sur la version échappée, mais il est valide par spec.)OriginalL'auteur Explosion Pills
Essayez ceci:
Yep, juste de me rendre compte que j'ai mal compris. Désolé.
OriginalL'auteur StephenWidom