--- title: Éléments en-ligne slug: Web/HTML/Inline_elements tags: - Débutant - Elements en ligne - Guide - HTML - Reference translation_of: Web/HTML/Inline_elements original_slug: Web/HTML/Éléments_en_ligne ---
{{HTMLSidebar}}

En HTML, les éléments en ligne (inline elements en anglais) sont ceux qui occupent l'espace délimités par leurs balises plutôt que d'interrompre le flux du contenu. Dans cet article, nous étudierons ces éléments en ligne et également leurs différences quant aux éléments de bloc (block-level elements).

Note : Un élément en ligne ne commence pas sur une nouvelle ligne et prend uniquement la largeur qui lui est nécessaire.

Éléments en ligne et éléments de bloc : un exemple

Un exemple vaut mieux qu'une longue explication. Voici pour commencer la feuille de style CSS que nous utiliserons :

.highlight {
  background-color:#ee3;
}

Élément en ligne

Le fragment de code HTML qui suit utilise un élément en ligne avec la classe highlight :

<p>The following span is an <span class="highlight">inline element</span>;
its background has been colored to display both the beginning and end of
the inline element's influence.</p>

Dans cet exemple, l'élément {{HTMLElement("p")}} (le paragraphe) est un élément de bloc qui contient du texte. Dans ce texte, on a un élément {{HTMLElement("span")}} qui est un élément en ligne. L'élément <span> étant un élément en ligne, le paragraphe est bien affiché sous la forme d'un flux de texte sans rupture :

{{EmbedLiveSample("Élément_en_ligne", 600, 80)}}

Élément de bloc

Transformons l'exemple précédent pour passer d'un élément <span> à un élément {{HTMLElement("div")}} qui est un élément de bloc :

<p>The following div is an <div class="highlight">block-level element;</div>
its background has been colored to display both the beginning and end of
the block-level element's influence.</p>

Et voici le résultat qu'on obtient :

{{EmbedLiveSample("Élément_de_bloc", 600, 150)}}

On voit ici que l'élément <div> modifie complètement la disposition du texte et le découpe en trois partie : une partie avant le <div>, une partie constituée avec le texte de l'élément <div> et une dernière partie ensuite.

Modifier le type d'un d'élément

Il est possible de choisir le mode d'affichage d'un élément afin de modifier son comportement par défaut grâce à la propriété CSS {{cssxref("display")}}. En passant la valeur de display de "inline" à "block", on peut indiquer au navigateur d'afficher l'élément comme une boîte de bloc plutôt que comme une boîte en ligne. Attention, l'élément ne sera plus affiché de la même façon, vérifiez le résultat obtenu. De plus, ce changement n'impactera pas la catégorie et le modèle de contenu de l'élément : utiliser display:block sur un élément {{HTMLElement("span")}} ne permettra toujours pas de lui imbriquer un élément {{HTMLElement("div")}} à l'intérieur.

Différences conceptuelles

Voici, en résumé, les différences conceptuelles entre les éléments en ligne et les éléments de bloc :

Modèle de contenu
En général, les éléments en ligne ne peuvent contenir que des données ou d'autres éléments en ligne. Il n'est pas possible de placer des éléments de bloc à l'intérieur d'éléments en ligne.
Formatage
Par défaut, les éléments en ligne n'introduisent pas de saut de ligne dans le flux du document. En revanche, les éléments de bloc provoquent un saut de ligne (ce comportement peut être modifié grâce au CSS).

Liste des éléments en ligne

Les éléments HTML suivants sont, par défaut, des éléments en ligne :

{{HTMLElement("a")}}
{{HTMLElement("abbr")}}
{{HTMLElement("acronym")}}
{{HTMLElement("audio")}} (if has visible controls)
{{HTMLElement("b")}}
{{HTMLElement("bdi")}}
{{HTMLElement("bdo")}}
{{HTMLElement("big")}}
{{HTMLElement("br")}}
{{HTMLElement("button")}}
{{HTMLElement("canvas")}}
{{HTMLElement("cite")}}
{{HTMLElement("code")}}
{{HTMLElement("data")}}
{{HTMLElement("datalist")}}
{{HTMLElement("del")}}
{{HTMLElement("dfn")}}
{{HTMLElement("em")}}
{{HTMLElement("embed")}}
{{HTMLElement("i")}}
{{HTMLElement("iframe")}}
{{HTMLElement("img")}}
{{HTMLElement("input")}}
{{HTMLElement("ins")}}
{{HTMLElement("kbd")}}
{{HTMLElement("label")}}
{{HTMLElement("map")}}
{{HTMLElement("mark")}}
{{HTMLElement("meter")}}
{{HTMLElement("noscript")}}
{{HTMLElement("object")}}
{{HTMLElement("output")}}
{{HTMLElement("picture")}}
{{HTMLElement("progress")}}
{{HTMLElement("q")}}
{{HTMLElement("ruby")}}
{{HTMLElement("s")}}
{{HTMLElement("samp")}}
{{HTMLElement("script")}}
{{HTMLElement("select")}}
{{HTMLElement("slot")}}
{{HTMLElement("small")}}
{{HTMLElement("span")}}
{{HTMLElement("strong")}}
{{HTMLElement("sub")}}
{{HTMLElement("sup")}}
{{HTMLElement("svg")}}
{{HTMLElement("template")}}
{{HTMLElement("textarea")}}
{{HTMLElement("time")}}
{{HTMLElement("u")}}
{{HTMLElement("tt")}}
{{HTMLElement("var")}}
{{HTMLElement("video")}}
{{HTMLElement("wbr")}}

Voir aussi