Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
L'élément HTML <pre> représente du texte préformaté qui est présenté exactement comme écrit dans le fichier HTML. Le texte est généralement affiché avec une police non proportionnelle, ou à chasse fixe.
Les espaces à l'intérieur de cet élément sont affichés tels quels, à une exception près. Si un ou plusieurs caractères de nouvelle ligne sont inclus immédiatement après la balise ouvrante <pre>, le premier caractère de nouvelle ligne est supprimé. Cette transformation est effectuée par l'analyseur HTML et ne s'applique pas lors de l'utilisation de XHTML.
Le contenu textuel des éléments <pre> est analysé comme du HTML, donc si vous souhaitez que votre texte reste du texte brut, certains caractères de syntaxe, comme <, doivent être échappés à l'aide de leur référence de caractère. Voir Échapper les caractères ambigus pour plus d'informations.
Les éléments <pre> contiennent couramment les éléments <code>, <samp> et <kbd>, pour représenter respectivement du code informatique, une sortie informatique et une saisie utilisateur.
Par défaut, <pre> est un élément de niveau bloc, c'est-à-dire que sa valeur display par défaut est block.
Cet élément inclut uniquement les attributs universels.
widthCet attribut contient le nombre préféré de caractères qu'une ligne devrait avoir. Bien qu'implémenté, cet attribut n'a aucun effet visuel ; pour obtenir cet effet, il est plutôt conseillé d'utiliser la propriété CSS width.
wrapCet attribut est une indication sur la façon de gérer le dépassement d'une ligne. Les navigateurs modernes ignorent cette indication et cet attribut n'engendre aucun effet visuel ; pour obtenir cet effet, il faut utiliser la propriété CSS white-space.
Il est important de fournir une description alternative pour toute image ou diagramme créé avec du texte préformaté. Cette description alternative devrait décrire clairement, et de façon concise, le contenu du diagramme.
Les personnes souffrant de troubles de la vision et/ou navigant à l'aide d'outils d'assistance comme des lecteurs d'écran peuvent ne pas comprendre le diagramme si celui-ci est construit avec des lettres et symboles et lu dans le désordre.
Pour légender un tel diagramme, on pourra utiliser une combinaison d'éléments <figure> et <figcaption>, complétée par les attributs ARIA role et aria-label sur l'élément <pre> afin que le dessin en ASCII préformaté puisse être énoncé comme une image avec un texte alternatif, <figcaption> servant alors de légende à l'image.
Supposons que vous vouliez montrer du code HTML dans un élément <pre>. Les séquences de caractères qui définissent des balises HTML valides (commençant par < et se terminant par >) ne seront pas affichées. Pour afficher les caractères de balise comme du texte, vous devez échapper (au moins) le caractère < à l'aide de sa référence de caractère, afin que les séquences ne définissent plus de balises valides.
En réalité, l'analyseur HTML traite la plupart des caractères comme du texte brut, sauf dans des contextes spécifiques. Par exemple, < code fonctionne, mais <code serait mal interprété ; &am; fonctionne, mais & non. Cependant, il est recommandé d'échapper tous les caractères ambigus pour éviter toute confusion, surtout si vous générez du HTML de manière programmatique et injectez le contenu du <pre>. Dans ce cas, voici une bonne règle à suivre pour échapper les caractères :
Cela devrait permettre d'afficher le contenu comme vous le souhaitez. Le remplacement d'autres caractères de syntaxe HTML est optionnel (comme > par >, " par " et ' par '), mais n'occasionnera aucun problème.
| Contenu de flux, contenu tangible. |
| Contenu phrasé. |
| Aucune, la balise d'ouverture et la balise de fermeture sont obligatoires. |
| Tout élément qui accepte du contenu de flux. |
| generic |
| Tous les rôles sont autorisés. |
| HTMLPreElement |
| HTML # the-pre-element |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 25 avr. 2026 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.