Le sélecteur CSS dont vous avez besoin référencerait à la fois la classe blue
et les étiquettes a
situées en dessous.
.blue a {
color:blue;
}
Notez qu'il existe une autre syntaxe que vous pouvez également envisager:
.blue>a {
color:blue;
}
note la >
entre .blue
et a
dans cet exemple. Les deux exemples fonctionneront pour votre code HTML donné, mais cette version est plus spécifique que la première, car elle affecte uniquement les tags <a>
qui sont les enfants immédiats de blue
. En d'autres termes, si vous aviez une balise <a>
à l'intérieur du <div>
, la première version l'affecterait, alors que cette version ne l'aurait pas. L'inconvénient est que IE6 ne supporte pas le sélecteur >
, donc si vous devez supporter les utilisateurs IE6, vous devez utiliser la première version.Heureusement, les utilisateurs d'IE6 sont de moins en moins nombreux, mais il en existe encore quelques-uns.
Une autre chose: je vous conseille également d'éviter d'utiliser des noms de classe qui se réfèrent à la couleur réelle. Il est généralement préférable de l'appeler menulink
, ou quelque chose comme ça.
La raison de cela? Imaginez à l'avenir que vous voulez changer un peu votre site, rafraîchissez-le pour une nouvelle version. Peut-être que de nouvelles couleurs d'entreprise après un rebranding exersise. Peu importe. Vous pouvez le faire sans changer du tout votre code HTML; juste une mise à jour CSS:
.blue a {
color:red;
}
... mais maintenant votre CSS n'a pas de sens. Si vous l'aviez appelé menulink
, vous saurez toujours à quoi correspond cette classe, même si les choses changent avec le temps.
+1 pour la mention de la sémantique. – BoltClock