Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
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 éléments de structure HTML5
Extrait - HTML5 et CSS3 Faites évoluer le design de vos sites web (4e édition)
Extraits du livre
HTML5 et CSS3 Faites évoluer le design de vos sites web (4e édition) Revenir à la page d'achat du livre

Les éléments de structure HTML5

Les éléments de structure en HTML4

1. Les boîtes <div>

Avec le HTML4, le principal élément de structure des pages est la fameuse « boîte <div> ». L’élément <div> permet de créer des zones d’affichage rectangulaires. Chacune de ces zones, chacune de ces boîtes <div> peut être identifiée de manière unique avec un identifiant et être mise en forme avec des styles CSS. Cet identifiant unique est déterminé avec l’attribut id.

Exemple :

<div id="bandeauHaut"> 
... 
</div> 

Vous pouvez aussi utiliser des classes, si la mise en forme n’est pas unique mais est répétée dans la page.

Exemple :

<div class="article"> 
...
</div> 

Ensuite, une fois que la structure est déterminée, la mise en page s’effectue avec des styles CSS, avec des sélecteurs d’identification qui reprennent le nom de l’identifiant ou de la classe.

Exemple :

#bandeauHaut { 
...
} 
.article{ 
...
} 

Voici un exemple d’une structure de page de type blog avec des boîtes <div> :

images/chap04-001.png

2. La « divite »

Avec le HTML4 et les CSS 2.1, la structure des pages, quand elle est un peu complexe, peut nécessiter un nombre très important de boîtes...

Les éléments de structure en HTML5

1. Les nouveaux éléments de structure

L’avènement du HTML a apporté de nouveaux éléments de structure sémantique. Ces nouveaux éléments ont été définis et nommés suite à une longue analyse du nom des boîtes <div>.

2. L’élément <header>

Le nouvel élément <header> permet d’insérer une zone d’affichage pour les en-têtes. Cet en-tête peut être défini pour la page ou pour une autre zone d’affichage : article, barre latérale...

Il faut considérer cet élément comme utilisable à deux niveaux :

  • au niveau de la page, c’est le classique en-tête de page, souvent placé en haut de l’écran, avec un logo, un slogan, une barre de navigation principale...

  • au niveau des contenus, cela permet d’avoir une zone d’introduction au contenu qui va suivre.

Voilà la définition du W3C pour l’élément <header> : « The header element represents a group of introductory or navigational aids. A header element is intended to usually contain the section’s heading (an h1-h6 element or an hgroup element), but this is not required. The header element can also be used to wrap a section’s table of contents, a search form, or any relevant logos. »

Notez bien que l’élément <header> n’est pas obligatoire dans la structure des pages.

3. L’élément <footer>

Le nouvel élément <footer> permet d’insérer une zone d’affichage pour les pieds de page. Nous retrouvons la même sémantique que pour les en-têtes. Ces pieds de page peuvent être définis pour la page ou pour...

L’attribut sémantique role

Le XHTML (http://www.w3.org/1999/xhtml/vocab/#XHTMLRoleVocabulary) et « feu » XHTML 2 prévoyait l’utilisation de l’attribut role (http://www.w3.org/TR/xhtml2/mod-roleAttribute.html) pour apporter plus de sémantique dans la définition des éléments structurels d’une page web.

Le HTML5 permet l’utilisation de l’attribut role pour cet apport d’informations complémentaires, via le module WAI-ARIA (http://www.w3.org/TR/aria-in-html/, en Working Draft au 4 mai 2017). Ce module traite de la gestion du contenu des pages pour les personnes handicapées. Certains éléments HTML5 ont un role implicite, par exemple l’élément <nav> a comme role implicite navigation.

Voici les principales valeurs de l’attribut role :

  • main : définit le contenu principal d’un document.

  • secondary : définit une partie secondaire du document.

  • navigation : définit la barre de navigation du document.

  • banner : située classiquement en haut de page, la bannière contient habituellement le logo et le slogan de l’entreprise.

  • contentinfo : indique que l’élément contient des informations à propos du contenu de la page : auteurs, copyrights, mentions légales...

  • definition : représente la définition d’un élément.

  • note...

Exemples de structure HTML5

1. Une structure simple

Si nous reprenons notre exemple de structure de page indiquée au début de ce chapitre, nous pouvons le modifier pour le mettre en HTML5.

images/chap04-003.png

Dans l’élément <header>, vous retrouverez les éléments d’en-tête de la page, avec le logo, le slogan par exemple.

Dans l’élément <nav> placé à gauche, vous trouverez les liens pour naviguer au sein de ce site.

Tous les articles de ce blog seront placés dans des éléments <article>, bien sûr !

Enfin, le pied de page, <footer>, pourra contenir les mentions légales, les liens de contact.

2. Une structure plus élaborée

Voici une structure d’un site un peu plus élaborée :

images/chap04-004.png

Nous retrouvons un élément <header>, maintenant classique.

En dessous, nous avons un premier élément <nav> pour la navigation générale dans le site, pour naviguer de page en page.

Sur la gauche, une deuxième boîte <nav> est faite pour la navigation secondaire, pour des liens liés directement au contenu de la page affichée.

Sur la droite, un élément <aside> affiche des informations liées au contenu de la page, comme des liens promotionnels, des contenus en relation...

Le contenu de la page est affiché dans deux éléments...

Les techniques de mise en page

Les techniques de mise en page, avec les boîtes flottantes ou les positionnements, sont parfaitement applicables aux nouveaux éléments HTML5. Pour avoir toutes les informations nécessaires pour créer des mises en page avec les feuilles de style CSS, reportez-vous à mon ouvrage : « CSS - Réussir la mise en page de vos sites Web » chez le même éditeur.