Site personnel

RATP | MÉTÉO | ASTRO et MUSIC

 


FORMATEUR - WEBMESTRE - Tél : 06 25 27 61 68 


7 rue André Bernard - 93110 Rosny sous Bois 

eric-bourgeois.com www



Syntaxes de regroupements

Certaines règles permettent de faciliter et d'alléger considérablement la production de code CSS ; observer ces principes simples fournira des feuilles de styles aérées bien plus compréhensible.


1) Regroupement des sélecteurs

La première construction syntaxique utile permet de regrouper des sélecteurs. Au lieu de répéter la même règle pour plusieurs éléments, on pourra factoriser leurs sélecteurs en les séparant par des virgules.
Ainsi, la séquence :

.texte {
margin-left: 0;
}
p {
margin-left: 0;
}
h1 {
margin-left: 0;
}
h2 {
margin-left: 0;
}

sera équivalente à la règle unique :

.texte, p, h1, h2 {
margin-left: 0;
}

Cette dernière déclaration annulera la marge gauche de tous les éléments de classe .texte, de tous les paragraphes et de tous les titres de premier et de deuxième niveau.

2) Regroupement des propriétés

Certaines propriétés génériques prévoient une version raccourcie, permettant l'application de plusieurs valeurs en une seule déclaration.
Ainsi, la propriété font rassemble les valeurs des propriétés font-style, font-size, font-family, font-weight et line-height.

C'est ainsi que l'on pourra réduire la règle :

p {
font-family:Arial, Helvetica, sans-serif;
font-style:italic;
font-weight:bold;
font-size:120%;
line-height:140%;
}

de la manière suivante :

p {
font: italic bold 120%/140% Arial, Helvetica, sans-serif;
}

D'autres propriétés raccourcies pourrons s'avérer bien utiles :

  • border pour border-width, border-style, border-color.
  • background pour background-image, background-color, background-position, background-repeat, background-attachment.

Ces exemples sont donnés à titre indicatif et pour illustrer le principe de regroupement. Toutes ces propriétés seront détaillées ultérieurement.

3) Les sélecteurs et l'arborescence

Certaines des constructions syntaxiques spécifiques facilitent la sélection des éléments en CSS.

Selon la structure du document et principalement son arborescence (c'est-à-dire la hiérarchie des blocs, chacun étant placé « sous » l'éventuel bloc qui le contient), il est possible de pointer directement certains éléments en fonction de leur situation dans le document.
Cette technique porte le nom de « sélection hiérarchique ».

L'arborescence du document permet, donc, de sélectionner plus facilement les divers éléments que le souhaite modifier.
Par exemple on peut se limiter aux balises dotées de certaines classes ou identifiant.
Ainsi :

a.toto {background-color: yellow;}

ne désignera que les liens <a> de classe toto.

Conséquences :

  • <a class="toto" href="#">lien à fond jaune</a>
    aborera un arrière-plan jaune.
  • <p class="toto">paragraphe à fond jaune ?</p>
    ne subira aucune modification.
  • <p class="toto"><a href="#">lien à fond jaune ?</a></p>
    ne subira aucune modification non plus.

L'imbrication dans les sélecteurs permet aux règles CSS de ne concerner que les éléments descendant d'autres éléments précis.

On peut ainsi ne cibler que les paragraphes contenus dans le bloc <div> sans influencer les autres paragraphes du document. Pour cela, on écrira le sélecteur sous la forme « ancêtre descendant » en séparant ces deux éléments d'un blanc.

Ainsi la règle a img {border-width : 0 ;} ne supprimera que les bordures des images contenues dans un lien. Il est impératif que la balise <img> descende de la balise <a> pour que la règle s'applique.

Il n'est toutefois pas nécessaire que ces deux balises descendent directement l'une de l'autre : un ancêtre plus lointain conviendra.

4) Simplifier grâce à la hiérarchie

Dans un site web bien architecturé, cette méthode permet d'éviter le recours aux classes dans la plupart des cas. Vous vous épargnerez ainsi bien du code inutile et travaillerez plus rapidement et plus efficacement. En effet, on peut très facilement simplifier des structures comme celle-ci :

<ul id="menu">
<li><a class="lienmenu" href="#" >premier lien du menu</a></li>
<li><a class="lienmenu" href="#">deuxième lien du menu</a></li>
<li><a class="lienmenu" href="#">troisième lien du menu</a></li>
</ul>

sous une forme ne faisant pas appel aux classes sur les liens :

<ul id="menu">
<li><a href="#">premier lien du menu</a></li>
<li><a href="#">deuxième lien du menu</a></li>
<li><a href="#">troisième lien du menu</a></li>
</ul>

Tous les liens <a> descendant de la balise <ul> (via l'élément intermédiaire <li>), il est très facile de les désigner par leur position hiérarchique :

#menu a {propriétés}

On peut évidemment préciser cette déclaration en ajoutant des éléments de l'arborescence.
Dans ce même exemple, on obtiendrai le même résultat en explicitant dans le sélecteur le niveau hiérarchique intermédiaire :

#menu li a {propriétés}


Autres sélecteurs hiérarchiques

Les normes CSS 2 et CSS 3 prévoient d'autres formes de sélection hiérarchique.

Documentation en ligne.

Haut de page

Introduction Html


Le fond et la forme


Introduction Css


Les sélecteurs


Syntaxes


Mise en situation

Ouvrages de références

Auto-entrepreneur.
Access®, Excel®, Powerpoint®, Word® & Windows® sont des produits et marques déposés
propriété de Microsoft, Inc.
Photoshop® & Dreamweaver ® sont des produits et marques déposés propriété de Adobe System.

 
Dernière mise à jour le 12.08.2011