Menu

Exposant et indice en HTML : balises sup et sub

Écrivez du texte en exposant avec <sup> et en indice avec <sub> : puissances, ordinaux, appels de note et formules chimiques. Découvrez les usages courants, comment éviter qu'ils écartent les lignes, et quand un caractère Unicode ou MathML convient mieux.

Cette page contient des éditeurs exécutables - modifiez, exécutez et voyez la sortie instantanément.

Comment écrire un exposant en HTML

Entourez le texte surélevé de <sup>. Le navigateur l'affiche plus petit et au-dessus de la ligne. Son partenaire <sub> affiche le texte plus petit et abaissé :

<sup> et <sub> sont inline et peuvent contenir d'autres éléments inline, donc 2<sup>n+1</sup> ou x<sub><i>i</i></sub> fonctionnent aussi.

Usages courants

Vous voulezÉcrivezRésultat
Une puissance10<sup>3</sup>10 puissance 3
Un ordinal2<sup>nd</sup>2nd avec les lettres surélevées
Un appel de notetext<sup><a href="#n1">1</a></sup>Un 1 surélevé et cliquable
Une formule chimiqueC<sub>6</sub>H<sub>12</sub>O<sub>6</sub>Glucose
Un indice ou une basex<sub>1</sub>, log<sub>2</sub>1 et 2 abaissés
Une marqueBrand<sup>TM</sup> ou Brand™TM surélevé

Utilisez les balises quand la position fait partie du sens : m<sup>2</sup> et m2 sont deux choses différentes. Pour un texte simplement affiché en petit (un libellé, un badge), utilisez plutôt le CSS.

Des notes de bas de page avec sup

Un appel de note est un lien en exposant vers une note en bas de page. Donnez un id à chaque note et faites pointer le lien vers elle :

Cliquez sur un numéro pour aller à sa note, et sur « Back » pour revenir. Retirer le soulignement du petit lien garde le paragraphe net, tandis que la couleur du lien le signale toujours comme cliquable.

Garder un interligne régulier

Par défaut, un <sup> ou un <sub> peut rendre sa ligne plus haute que les lignes voisines, si bien qu'un paragraphe avec quelques exposants paraît irrégulièrement espacé. Mettre line-height: 0 sur eux corrige le problème :

La boîte grise est plus haute car les lignes deux et quatre ont été écartées. Dans la boîte verte, toutes les lignes ont la même hauteur. Ajoutez cette règle une fois à votre feuille de style de base et n'y pensez plus.

Caractères Unicode et MathML

Pour quelques cas courants, il existe des caractères tout prêts : ² (&sup2;), ³ (&sup3;), ¹ (&sup1;), ™ (&trade;) et ½ (&frac12;). Ils n'ont besoin d'aucune balise et n'influencent pas la hauteur de ligne, mais ils n'existent que pour certains chiffres et lettres.

Pour de vraies formules (fractions, racines, exposants d'exposants), utilisez MathML, que les navigateurs actuels affichent nativement :

<msup> prend une base et un exposant ; <msub> fait de même pour les indices. Pour un seul exposant dans une phrase, <sup> est plus simple.

Erreurs fréquentes

  • Utiliser <sup> pour rapetisser du texte. Il surélève aussi le texte et indique aux lecteurs qu'il s'agit d'un exposant. Utilisez font-size pour un petit texte.
  • Un interligne irrégulier. Ajoutez sup, sub { line-height: 0; }.
  • Écrire x^2 ou H2O dans un texte final. Utilisez x<sup>2</sup> et H<sub>2</sub>O pour que le contenu se lise correctement.
  • Des appels de note trop petits pour être touchés. Sur téléphone, un seul chiffre surélevé est une cible minuscule. Ajoutez un peu de padding à sup a, ou placez les notes près du texte.

Questions fréquentes

Comment écrire un exposant en HTML ?

Entourez le texte surélevé de <sup> : x<sup>2</sup> affiche x au carré, 1<sup>st</sup> un ordinal. Le navigateur l'affiche plus petit et surélevé au-dessus de la ligne de base.

Comment écrire un indice en HTML ?

Utilisez <sub> : H<sub>2</sub>O pour l'eau, x<sub>1</sub> pour un indice. Il s'affiche plus petit et abaissé sous la ligne de base.

Comment écrire x au carré en HTML ?

Soit x<sup>2</sup>, soit le caractère tout prêt x², que vous pouvez aussi taper avec l'entité &sup2;. Le caractère convient pour les carrés et les cubes ; <sup> marche pour n'importe quel exposant, comme 2<sup>n+1</sup>.

Pourquoi <sup> rend l'interligne irrégulier ?

Le texte surélevé peut rendre sa ligne plus haute que les autres du paragraphe. Corrigez-le avec sup, sub { line-height: 0; }, qui les empêche d'ajouter de la hauteur à la ligne.

Peut-on utiliser le CSS à la place de <sup> ?

vertical-align: super avec une font-size plus petite donne le même rendu, mais <sup> et <sub> portent un sens : « m2 » et « m<sup>2</sup> » sont des valeurs différentes. Utilisez les balises quand la position surélevée ou abaissée fait partie du contenu.

Coddy programming languages illustration

Apprendre à coder avec Coddy

COMMENCER