| Les 30 sélecteurs CSS à connaître absolument |
| Développement Web - CSS |
| Mercredi, 23 Février 2011 11:26 |
|
Vous prétendez maîtriser le CSS et pourtant vous n'utilisez que les sélecteurs de base du genre #mon_id, .ma_classe, #mon_id div li. Remettez-vous en question. Dans ce guide, vous découvrirez enfin les sélecteurs avancés qui vous sont obscurs et pourtant oh, combien Awesome! Des sélecteurs CSS à consommer sans modération. *C'est le sélecteur universel. Le symbole étoile cible tous les éléments de la page. Beaucoup de développeurs l'utilisent pour mettre à zéro les marges de tous les éléments. Compatibilité
#monidLe sélecteur d'ID permet de cibler un élément par son identifiant. L'identifiant doit être unique. Plusieurs éléments d'une même page ne peuvent pas avoir le même identifiant. Compatibilité
.maclasseA la différence des sélecteurs d'ID, les sélecteurs de classe peuvent cibler plusieurs éléments. Compatibilité
X YUtilisez le sélecteur descendant pour être plus spécifique. Pluôt que de cibler toutes les balise de lien, l'exemple ci-dessus cible seulement celles qui sont à l'intérieur d'un élément de liste. Compatibilité
XLes sélecteurs de type permettent de cibler un élément grâce à son type. Compatibilité
X:link et X:visitedLa pseudo-classe :link correspond à tous les liens qui n'ont pas été visités. La pseudo-classe :visited correspond à tous les liens déjà visités. Compatibilité
X + YLe sélecteur adjacent correspond à tout élément Y immédiatement précédé par un élément X. L'exemple ci-dessus permet d'appliquer un style au premier paragraphe qui suit une liste non ordonnée. Compatibilité
X > YContrairement au sélecteur descendant, le sélecteur d'enfant cible seulement le descendant direct. Considérons le code suivant. Le sélecteur #contenu > ul cible tous les éléments ul qui sont descendants directs d'un bloc ayant pour id #contenu. Il ne ciblera pas, par exemple, l'élément ul descendant du premier li. Compatibilité
X ~ YCe sélecteur est semblable à X + Y. Cependant, il est moins strict. Dans l'exemple ci-dessus, il cible tous les paragraphes qui suivent une liste non ordonnée. Compatibilité
X[foo]Correspond à tout élément X ayant un attribut foo. Compatibilité
X[href="/foo"]Le code ci-dessus applique un style à tous les éléments a qui pointent vers http://www.tomsyweb.com. Compatibilité
X[href*="foo"]On ajoute une étoile pour indiquer que "foo" doit se trouver quelque part dans la valeur de l'attribut. Ainsi, ce code prend également en compte tomsyweb.com, instant.tomsyweb.com, elections.tomsyweb.com. Compatibilité
X[href^="foo"]Cible tous les liens dont la valeur de l'attribut commence par "foo". Compatibilité
X[href$="foo"]Cette fois, nous utilisons le symbole $ pour se référer à la fin de la valeur de l'attribut. Dans cet exemple, on recherche tous les liens qui pointent vers une image — ou une URL qui se termine par ".jpg". Compatibilité
X[data-*="foo"]En se référant au sélecteur précédent, on pourrait créer plusieurs sélecteurs pour prendre en compte les autres types d'image: Mais c'est inefficace. A la place, on peut utiliser des attributs personnalisés. Nous pouvons ajouter notre propre attribut data-filetype à chaque lien d'image. Nous pouvons ensuite utiliser un sélecteur d'attribut pour cibler tous ces liens. Compatibilité
X[foo~="bar"]Le symbole tilde permet de cibler un élément dont l'attribut "foo" a pour valeur une liste de valeurs séparées par des espaces et dont une de celles-ci est "bar". Le code CSS ci-dessus pourrait donc s'appliquer à: Compatibilité
X:checkedCette pseudo-classe ne cible que les éléments de formulaire qui ont été cochés - comme un bouton radio ou une case à cocher. Compatibilité
X:afterLes pseudo-éléments before et after servent à générer du contenu autour de l'élément ciblé. Les développeurs trouvent chaque jour des idées créatives pour les utiliser de manière efficace. L'une des utilisations les plus connues est le hack clear-fix. Compatibilité
X:hoverVous voulez appliquer un style particulier lorsque l'utilisateur survole un élément ? L'élément :hover fera l'affaire. Gardez à l'esprit que les anciennes versions d'Internet Explorer (IE6) ne permettent pas l'utilisation de la pseudo-classe :hover sur un élément autre que les balises d'ancrage (liens). Compatibilité
X:not(selecteur)La pseudo-classe de négation a une utilité particulière. Le code ci-dessus permet de sélectionner tous les div, sauf ceux qui ont pour id #contenu. Compatibilité
X::pseudoElementOn peut utiliser les pseudo-éléments pour appliquer un style à des parties spécifiques d'un élément, comme la première ligne ou la première lettre. Nous avons ciblé dans l'exemple la première ligne de tous les paragraphes. Mais on peut également cibler la première lettre. Compatibilité
X:nth-child(n)
Je sais, c'est difficile à comprendre. Essayez de faire des tests et petit à petit, vous comprendrez. Compatibilité
X:nth-last-child(n)Et si vous aviez une liste comportant de nombreux éléments et que vous aviez besoin d'accéder à l'avant-dernier élément. Au lieu de faire li:nth-child(398), vous pouvez utiliser li:nth-last-child. Compatibilité
X:nth-of-type(n)Imaginez que vous ayez cinq listes. Pour cibler seulement la troisième liste, vous pouvez utiliser la pseudo-classe :nth-of-type(n). Compatibilité
X:nth-last-of-type(n)Nous pouvons aussi utiliser nth-last-of-type pour commencer à partir de la fin de la liste des sélecteurs. Compatibilité
X:first-childCette pseudo-classe permet de cibler le premier enfant de l'élément parent. Vous en aurez besoin souvent pour supprimer les bordures du premier et du dernier élément d'une liste. Compatibilité
X:last-childCible le dernier enfant de l'élément parent. Compatibilité
X:only-childCette pseudo-classe permet de cibler les éléments qui sont enfants uniques de leur parent. Dans cet exemple, seul le paragraphe du premier div sera en rouge. Compatibilité
X:only-of-typeCible tous les éléments qui n'ont pas de frères au sein de l'élément parent. Dans cet élément, seul l'élément de liste du deuxième ul sera en gras. Compatibilité
X:first-of-typeIdentique à nth-of-type(1), cette pseudo-classe représente un élément qui est le premier enfant de son type de l'élément parent. Compatibilité
[Source]
|
| Mise à jour le Mercredi, 23 Février 2011 17:20 |
