« Le langage CSS/Les sélecteurs » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
m quelques changements stylistiques |
||
Ligne 100 :
}
Théoriquement seule cette dernière syntaxe devrait être utilisée puisqu'un seul élément peut
Dans un document HTML, si l'identifiant ''nom_id'' se rapporte à un élément de type ''div'', on ne doit écrire qu'une seule et unique fois dans la page :
Ligne 117 :
== Les sélecteurs hiérarchiques ==
Une caractéristique fondamentale des règles CSS est que l'on peut spécifier des règles pour les éléments contenus à l'intérieur de certains autres éléments sans ajouter de classe ni d'identifiant. Concrètement, on peut par exemple changer le style d'un lien selon qu'il est dans un paragraphe ou dans une liste. Ceci est rendu possible par la notion de hiérarchie des éléments du document web, conformément à l'imbrication des balises
Le document HTML peut en effet être vu comme un arbre dont le tronc est l'élément <tt>html</tt>, les deux principales branches les éléments <tt>head</tt> et <tt>body</tt>, desquelles partent en ramification toutes les autres branches. Un sélecteur suit ces ramifications, comme une branche de lierre, en partant du tronc, pour désigner une ou des branches — qui sont des éléments HTML. Ainsi, chaque élément a un élément ''parent'' — sauf l'élément racine <tt>html</tt> — et un ou plusieurs ''élément(s) enfant(s)'' — sauf les éléments terminant une ramification.
La grammaire CSS définit plusieurs types de sélecteurs pour parcourir l'arbre qu'est le document HTML.
Ligne 132 :
désigne tous les éléments ''h1'' contenus, à quelque niveau que ce soit, dans les éléments d'identifiant ''wikipedia''. Cet exemple illustre pourquoi ce sélecteur est d'utilisation courante : il permet de modifier le style d'éléments enfants sans avoir à les marquer d'une classe ou d'un identifiant.
On peut vouloir aussi désigner des éléments
#wikipedia * h1 {... }
Ligne 190 :
== Les pseudo-classes et les pseudo-éléments ==
Les sélecteurs présentés précédemment suffisent pour mettre en œuvre
Malheureusement leur support par les Internet Explorer 5.0, 5.5 et 6.0 de Microsoft est extrêmement réduit, ce qui limite beaucoup la portée de ces sélecteurs étant donné que la part de marché des Internet Explorer début 2007 environne les 80%. Il n'y a cependant aucune contre-indication à réserver certaines règles aux (nombreux) autres navigateurs qui les supportent, dans un souci de perfectionnisme. Il faut simplement que les pages du site ne reposent pas sur ces utilisations avancées des normes.
Ligne 266 :
=== Inutile de mettre des classes partout ===
L'erreur classique consiste à
Prenons l'exemple d'un menu constitué de plusieurs listes de liens. On peut coder un tel menu en HTML de cette façon :
Ligne 349 :
=== Combiner classe et identifiant ===
Il est possible en HTML
Prenons comme exemple la table des matières (TDM) regroupant les titres de la page web. L'adaptation classique en HTML est la suivante :
|