Structure html

L'élément body, corps de la page

Rappelons que l'élément body est le conteneur de tous les autres éléments qui sont affichés par le navigateur.

Il n'y a qu'un seul élément body dans une page.

main

L'élément main définit le bloc principal de la page, il délimite le contenu.

Un seul élément main par page lorsqu'il est présent, fils de l'élément body. Les en-têtes, pieds de page et hors-textes latéraux sont hors de cet élément.

La présence d'un élément main n'est pas obligatoire. Vous trouverez de nombreuses pages sans cet élément.

Balises de titres

Il existe six balises de titres

  • h1
  • h2
  • h3
  • h4
  • h5
  • h6

En général, on ne place qu'une seule balise h1 dans une page, correspondant au titre principal de la page.

Les niveaux de titre suivant permettent de poser des titres pour des parties intermédiaires.

On pourra par exemple avoir un titre de niveau h1 sur la page, la page pourra être découpée en articles (voir plus bas l'élément article), chaque article présentant un titre h2. Un article pourra contenir plusieurs parties, chacune portant un niveau de titre h3...

On peut imaginer d'autres découpages, mais il faut essayer de respecter ce rôle de structuration en niveaux par les balises de titre.

Exemple

Élément p

L'élément html p sert à structurer un texte en paragraphes.

Les éléments de type p sont par défaut considérés comme des éléments de type block.

Lisez cette page pour comprendre les notions de type block et inline. Il s'agit d'une notion essentielle pour comprendre le comportement des boîtes composant une page html.

Éléments article et section

On peut utiliser l'élément article pour découper la page en unités logiques. L'élément section a un rôle assez proche.

article, section
articleSection de contenu indépendante, pouvant être extraite individuellement du document ou syndiquée (flux RSS ou équivalent), sans pénaliser sa compréhension.
sectionSection générique regroupant un même sujet, une même fonctionnalité, de préférence avec un en-tête, ou bien section d'application web.

On choisira dans ce cours et dans les pages que vous produirez de pouvoir avoir des articles dans une section mais pas le contraire (mais cela n'est pas un standard, un article peut en fait contenir des sections, il peut contenir des articles...)

Un élément article peut contenir plusieurs éléments p. Mais un élément p ne peut pas contenir d'éléments article (un élément p ne contient d'ailleurs que des éléments inline).

Exemple

Éléments block et inline génériques

L'élément div est un élément block générique (c'est à dire sans sémantique particulière), il est souvent utilisé en vue de l'application d'une règle css. Par "sans sémantique particulière", il faut comprendre que l'on va placer du contenu entre <div> et </div> uniquement parce que l'on aura besoin de créer un bloc (pour agir ensuite sur la mise en forme via du code css), alors qu'avec une balise block telle que section, nous avons vu plus haut qu'une sémantique était attachée au contenu (pour rappel : "section générique regroupant un même sujet, une même fonctionnalité, de préférence avec un en-tête, ou bien section d'application web"). Le contenu d'une balise div peut donc être divers, sans unité de sens particulier, l'intervention d'un bloc n'étant important que pour le rendu visuel de la page.

L'élément span est un élément inline générique. On peut faire les mêmes remarques que pour l'élément div : on utilise span notamment lorsque aucune balise inline prédéfinie ne correspond à l'usage désiré.

Nous verrons dans la suite des exemples d'utilisation de ces deux tags.

Un exemple à lire ici.

aside

L'élément aside est utilisé comme conteneur pour ce qui n'a pas de relation vraiment directe avec le contenu principal de la structure dans laquelle il se trouve (mais qui peut souvent apporter des compléments).

Un élément aside n'est pas fait spécifiquement pour être placé sur le côté droit ou gauche de la structure dans laquelle il se trouve (cela relève de la mise en forme). Le terme "à côté" fait plutôt référence au contenu qui complète ou est périphérique du contenu principal (sémantique !).

Un exemple

L'exemple suivant reprend l'ensemble des éléments présentés avec une mise en forme pour donner une idée "visuelle" des rôles :