Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. HTML5 et CSS3
  3. Les conteneurs de texte
Extrait - HTML5 et CSS3 Maîtrisez les standards de la création de sites web (2e édition)
Extraits du livre
HTML5 et CSS3 Maîtrisez les standards de la création de sites web (2e édition) Revenir à la page d'achat du livre

Les conteneurs de texte

Bien utiliser les conteneurs de texte

Après avoir vu les conteneurs de structure, attelons-nous aux conteneurs de texte. À nouveau, nous devons utiliser des conteneurs sémantiques pour insérer des types de textes précis dans nos pages web.

Notez que tous ces éléments sont de type block. Cela implique qu’ils s’affichent sur toute la largeur disponible dans leur conteneur parent, qui peut être l’élément <body> ou tout autre conteneur de type block. Donc le conteneur suivant, quel qu’il soit, s’affichera sur une nouvelle ligne, dans un nouveau bloc.

Sachez aussi que pour ces éléments en bloc, les navigateurs insèrent un espace avant et après. Vous pourrez modifier ces espaces avec des règles CSS.

Les attributs de langue et de direction du texte

Dans toute page web, vous pouvez parfaitement spécifier la langue utilisée dans un conteneur de texte avec l’attribut lang. Nous avons vu son utilisation dans l’élément <html> pour indiquer la langue utilisée dans l’ensemble de la page. Mais vous pouvez parfaitement faire une exception pour un conteneur de texte précis.

Nous pourrions parfaitement avoir cette syntaxe dans une partie spécifique d’un paragraphe rédigé en français, où la langue est de l’italien :

<p>Il m'a dit <span lang="it">Ciao a tutti! Come state ?</span> quand nous nous sommes vus.</p> 

En plus de la langue, vous pouvez spécifier la direction d’écriture avec l’attribut dir. Cet attribut utilise ces trois valeurs :

  • ltr : qui signifie left to right, écriture de gauche à droite, comme le français ou l’italien par exemple.

  • rtl : qui signifie right to left, écriture de droite à gauche, comme l’arabe par exemple.

  • auto : dans ce cas, c’est l’agent utilisateur qui détecte lui-même la direction de l’écriture.

Voici un exemple avec un paragraphe en arabe :

<p lang="ar" dir="rtl">صباح الخير جميعا...

Les titres

Les éléments de titrage permettent d’insérer six niveaux de titre hiérarchique aux pages. Les éléments à utiliser sont <h1> à <h6>. Ces titres ont une très forte valeur sémantique. Le niveau de titre <h1> est le plus important dans la page et le niveau <h6> est le moins important.

Le W3C conseille fortement de les utiliser dans l’ordre descendant : vous devez d’abord utiliser un titre de niveau 1, puis un titre de niveau 2 et ainsi de suite. Il est déconseillé d’omettre un niveau, comme passer de <h1> à <h3>, en omettant le <h2>.

Notez bien que vous pouvez parfaitement utiliser plusieurs fois le même niveau de titre dans des conteneurs différents. Nous pouvons parfaitement imaginer avoir l’élément <section> avec un titre <h1> qui contient plusieurs éléments <article> ayant chacun un titre <h2>. Puis ailleurs, dans un élément <aside> par exemple, nous pouvons utiliser d’autres éléments <h1> et <h2>.

Les titres <hx> possèdent aussi une forte utilité pour l’indexation naturelle de vos pages web : SEO (Search Engine Optimization). Vous devez donc penser à utiliser des mots susceptibles d’être utilisés par les internautes...

Les paragraphes

L’élément <p> permet d’insérer du texte courant dans des paragraphes. Comme pour tous les écrits, chaque paragraphe pourra contenir une idée, un concept. Dans chaque paragraphe, vous pouvez mettre en évidence un ou des mots avec des éléments de mise en forme sémantique.

Voici les propriétés d’affichage par défaut des paragraphes :

p { 
       display: block; 
       margin-top: 1em; 
       margin-bottom: 1em; 
       margin-left: 0; 
       margin-right: 0; 
} 

Voici un exemple simple :

<!doctype html> 
<html lang="fr"> 
   <head> 
       <meta charset="UTF-8"> 
       <title>Ma page web</title> 
   </head> 
   <body> 
       <p>Morbi leo risus, porta ac consectetur...</p> 
       <p>Nullam quis risus eget urna mollis ornare...</p> 
   </body> 
</html> 

Voici l’affichage obtenu :

images/C07-002.png

Les citations

Les blocs de citation permettent d’afficher un texte extrait d’une source externe. C’est l’élément <blockquote> qui est utilisé. L’élément <blockquote> sert de conteneur à d’autres éléments qui peuvent être de tout type : titre, paragraphe, image…

Voici les propriétés d’affichage par défaut des citations :

blockquote { 
     display : block ; 
     margin-top: 1em; 
     margin-bottom: 1em; 
     margin-left: 40px; 
     margin-right: 40px; 
} 

Voici un exemple simple :

<!doctype html> 
<html lang="fr"> 
   <head> 
       <meta charset="UTF-8"> 
       <title>Ma page web</title> 
   </head> 
   <body> 
       <h1>Inceptos Consectetur Tristique Bibendum</h1> 
       <p>Morbi leo risus, porta ac consectetur...</p> 
       <blockquote> 
           <h2>Fusce Mattis Ligula Etiam</h2> 
           ...

Les listes

1. Les différents types de liste

Les listes permettent d’insérer des énumérations sémantiques dans vos pages web. Vous avez trois types de liste à votre disposition : les listes non ordonnées (plus communément appelées listes à puces), les listes ordonnées (listes numérotées) et les listes de définitions.

Notez l’usage très répandu des listes pour créer des barres de navigation. C’est une utilisation parfaitement valide puisque ces barres sont des énumérations, des listes de liens.

2. Les listes non ordonnées

Les listes non ordonnées (unordered list en anglais) permettent de lister, d’énumérer des données qui s’afficheront avec une puce devant chaque élément de la liste. C’est l’élément <ul> qui est utilisé pour définir la liste. Ensuite, chaque élément, chaque item de la liste, sera placé dans un élément <li>.

Voici les propriétés d’affichage par défaut des listes non ordonnées :

ul { 
       display: block; 
       list-style-type: disc; 
       margin-top: 1em; 
       margin-bottom: 1em; 
       margin-left: 0; 
       margin-right: 0; 
       padding-left: 40px; 
} 

Voici un exemple simple :

<!doctype html> 
<html lang="fr"> 
   <head> 
       <meta charset="UTF-8"> 
       <title>Ma page web</title> ...

Les adresses

Il n’est pas rare d’avoir besoin d’insérer des adresses en tout genre dans vos pages web. Pour cela, vous devez utiliser l’élément <address> qui est dédié à cet usage. Vous pourrez y placer des adresses postales, des adresses mail, etc. Dans cet élément, vous pouvez imbriquer les autres conteneurs que vous souhaitez. 

Voici les propriétés d’affichage par défaut des adresses :

address { 
     display: block; 
     font-style: italic; 
} 

Voici un exemple simple :

<!doctype html> 
<html lang="fr"> 
   <head> 
       <meta charset="UTF-8"> 
       <title>Ma page web</title> 
   </head> 
   <body> 
       <p>Voici nos coordonnées :</p> 
       <address> 
           <p>Agence Be Web</br> 
           12 rue Tim Berners Lee<br> 
           44000 NANTES</p> 
           <p>Sur LinkedIn : <a href="https://linkedin.com/beweb/">
Be Web</a>.</p> 
     ...

Le texte préformaté

Le texte préformaté, inséré avec l’élément <pre>, permet d’insérer du texte qui sera mis en forme avec les conventions typographiques usuelles et non pas avec des éléments HTML. Cela veut dire que les espaces seront conservés, comme les marques de tabulation, et le texte sera usuellement affiché avec une police de caractères à espace constant, de type Courier.

Voici les propriétés d’affichage par défaut du texte préformaté :

pre { 
      display: block; 
      font-family: monospace; 
      white-space: pre; 
      margin: 1em 0; 
} 

Voici un exemple simple :

<!doctype html> 
<html lang="fr"> 
   <head> 
       <meta charset="UTF-8"> 
       <title>Ma page web</title> 
   </head> 
   <body> 
       <p>Voici nos données :</p> 
       <pre> 
       Janvier    Février    Mars 
       123    134    154 
       245    276    287 ...

Les lignes horizontales

Cet élément <hr> ne contient pas de texte et n’affiche qu’une ligne horizontale qui permet de séparer différentes parties d’un contenu.

Voici les propriétés d’affichage par défaut des lignes horizontales :

hr { 
      display: block; 
      margin-top: 0.5em; 
      margin-bottom: 0.5em; 
      margin-left: auto; 
      margin-right: auto; 
      border-style: inset; 
      border-width: 1px; 
} 

Voici un exemple simple :

<!doctype html> 
<html lang="fr"> 
   <head> 
       <meta charset="UTF-8"> 
       <title>Ma page web</title> 
   </head> 
   <body> 
       <h1>Magna Etiam Parturient Inceptos</h1> 
       <p>Maecenas faucibus mollis interdum. Aenean eu leo quam. 
Pellentesque ornare sem lacinia quam venenatis vestibulum. Cum 
sociis natoque penatibus et magnis dis parturient montes, nascetur 
ridiculus mus. Duis mollis, est non commodo luctus, nisi erat 
porttitor ligula, eget lacinia odio sem nec elit. Cum sociis 
natoque penatibus et magnis dis parturient montes, nascetur 
ridiculus...