La spécification HTML autorise les points (.) Dans un identifiant:
<img id="some.id" />
Cependant, l'utilisation d'une règle de sélection d'ID CSS ne correspondra pas correctement:
#some.id { color: #f00; }
La spécification CSS pour les sélecteurs d'ID ne mentionne pas ce cas. Je suppose donc qu'il utilise la combinaison d'un nom de balise et d' un sélecteur de classe ? Par exemple, une règle CSS de a.className
s'appliquerait à toutes les balises d'ancrage ( <a>
) avec un nom de classe de className
, comme <a class="className"></a>
.
Est-il possible d'avoir une règle de fichier CSS externe qui référence un élément HTML par son identifiant qui contient un point?
Je ne m'attends pas car la spécification CSS spécifie qu'un « identifiant » CSS n'inclut pas le point comme caractère valide. Est-ce donc un décalage fondamental entre les spécifications HTML et CSS? Est-ce que ma seule alternative est d'utiliser un autre type de sélection CSS? Quelqu'un de plus intelligent que moi peut-il le confirmer ou le nier?
(Je supprimerais le point de l'attribut HTML id pour simplifier les choses, mais c'est un identifiant généré par le système, donc je n'ai pas la possibilité de le changer dans ce cas.)
#some.id
la combinaison de l'ID et du sélecteur de classe.