gérer les identifiants CSS et les classes avec des espaces
J'ai un paragraphe comme
<p id="para one" class="paragraph one">Content</p>
Comment fait-on pour représenter les id et class avec des espaces dans le css
Lorsque j'utilise
#para#one{
}
.paragraph.one{
}
Il ne fonctionne pas avec le css ci-dessus.
source d'informationauteur user1212
Vous devez vous connecter pour publier un commentaire.
représente en fait deux classes différentes
ne fonctionne pas, mais vous allez probablement finir par avoir une identification réelle de para
Viens de tomber sur ce un moi-même (style d'une page existante avec aucun moyen de changer l'id).
C'est ce que j'ai utilisé pour le style par id:
Et, comme dit précédemment,
.paragraph.one
sélectionne deux classes - ce qui signifie qu'il sera également sélectionner des éléments avecclass=" one paragraph"
etclass="not a paragraph this one"
.Votre classe CSS est correct. Vous n'avez pas de classe avec un espace, vous avez deux classes, "paragraphe" et "un". Votre CSS correctement sélectionne les éléments qui ont à la fois de ces classes:
C'est une technique utile pour la séparation des facettes de l'élément dans des classes séparées, qui peuvent être combinés individuellement. Notez également que
<p class="one paragraph">
trouvera le même sélecteur.Vous ne pouvez pas avoir des espaces dans
id
les valeurs ou les noms de classe. Lorsque vous avez des espaces dans la valeur de laclass
l'attribut spécifie plusieurs classes qui s'appliquent à cet élément:Comme pour
id
les valeurs, les règles (HTML4) de la manière suivante:Comme vous pouvez le voir, les espaces ne sont pas valides. Le Spec HTML5 est plus leniant, mais les espaces ne sont pas encore autorisées (italiques ajoutés):
Vous simplement ne peut pas contenir d'espaces. Si vous utilisez un espace cela signifie que vous êtes à l'aide de deux classes différentes. On est
para
et l'autre estone
.Les navigateurs modernes supportent
id
avec des espaces. Donc sur Chrome 54 cela fonctionne:Et les navigateurs ne prennent pas en charge la
[id="..."]
de la syntaxe, de sortene fonctionne pas dans Chrome 54.