Text-indent - Propriété CSS
Résumé des caractéristiques de la propriété text-indent
each-line
| hanging
0
text-indent
passe progressivement d'une valeur à une autre.Schéma de la syntaxe de text-indent
.
text-indent
.Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.
Description des termes utilisés sur le schéma :
length
est une valeur numérique suivie d'une des unités de dimension.%
est un pourcentage calculé par rapport à la largeur de l'élément.
Description de la propriété text-indent
.
La propriété text-indent
définit le retrait de la première ligne de texte de l'élément.
Le retrait peut être une valeur positive ou négative. Dans ce dernier cas la première ligne empiétera sur la marge
gauche.
Voici un exemple de texte mis en page avec des retraits de paragraphes :
Le retrait de paragraphe encore appelé "alinéa" par les professionnels de l'imprimerie est surtout courant en langue française, et lorsque le texte est justifié. L'alinéa peut être rentrant ou saillant suivant que la première ligne des paragraphes est décalée vers la gauche ou vers la droite.
Sur les pages web, l'alinéa est plus rarement utilisé, au profit d'un interligne plus important entre chaque paragraphe.
Les retours à la ligne forcés par une balise br/ ne génèrent pas de retrait sur la ligne qui suit.
Le retrait se fait sur le côté start
des lignes, c'est à dire sur la gauche pour les langues latines,
et plus généralement toutes les langues qui s'écrivent de gauche à droite (propriété direction
fixée à ltr
). sauf si la propriété direction
est fixée à rtl
Le retrait sera à droite pour les langues qui s'écrivent de droite à gauche (langues arabes par exemple).
text-indent
et le mode d'écriture en fonction de la langue.
text-indent
s'applique toujours du côté start
. Pour les langues latines, ce sera donc à gauche ;
pour les langues arabes, l'indentation se fait sur la droite.
Valeurs pour text-indent
.
- text-indent: 15px;
Le retrait de première ligne est fixé à la valeur indiquée. Celle-ci peut être positive ou négative, et doit être suivie d'une unité de dimension (voir les unités de dimension).
Si la valeur est exprimée en pourcentages, ceux-ci seront calculés par rapport à la largeur de l'élément.
Remarque : les retours à la ligne forcés (balises br ) ne provoquent pas de retrait.
- text-indent: 15px hanging; ⚠
Le retrait s'applique à toutes les lignes sauf la première de chaque paragraphe.
La valeur
hanging
est encore mal reconnue par les navigateurs (2024). On peut obtenir un effet comparable en fixant une marge intérieure gauche (padding-left
) à une certaine valeur, et le retrait de la première ligne à la même valeur en négatif. - text-indent: 15px each-line; ⚠
Avec cette valeur, le retrait s'applique aussi bien à la première ligne des paragraphes, qu'à toutes les lignes qui suivent un retour à la ligne forcé par une balise br/.
La valeur
each-line
est encore peu reconnue par les navigateurs (2024). - text-indent: initial; (
0
) text-indent: inherit; text-indent: revert; text-indent: revertLayer; text-indent: unset;Les valeurs communes sont présentées sur ces pages :
initial
,inherit
,revert
,revert-layer
,unset
.
Exemple d'animation de text-indent
.
dans l'exemple ci-dessous la propriété text-indent
est animée entre 0 et 80% de la largeur du paragraphe.
En principe le retrait n'atteint jamais des valeurs aussi importantes.
Accéder à la propriété text-indent
par programme.
Avec Javascript, modifier la valeur de text-indent
.
En Javascript, voici comment modifier la valeur de text-indent
.
Deux syntaxes sont possibles : la première avec le nom de la propriété écrit en kebab-case
(un tiret pour séparer les mots),
la deuxième avec la notation en camel-case
(une majuscule pour séparer les mots).

let el = document.getElementById('id');
el.style['text-indent'] = '3ex';
// ou
let el = document.getElementById('id');
el.style.textIndent = '3ex';
Avec Javascript, lire la valeur de text-indent
.
La propriété doit avoir été affectée directement à l'élément lui-même par l'attribut style
, et non pas en passant par un sélecteur.
La valeur est renvoyée telle qu'elle a été définie, dans la même unité.

let el = document.getElementById('id');
let value = el.style['text-indent'];
// ou
let el = document.getElementById('id');
let value = el.style.textIndent;
Avec Javascript, lire la valeur calculée de text-indent
.
La valeur calculée est celle qui résulte de l'évaluation des unités relatives (en particulier le pourcentage) et de la prise en compte éventuelle des valeurs héritées.
Dans le cas de text-indent
, la couleur est retournée sous la forme rgb(r,g,b)
, ou rgba(r,g,b,a)
si l'opacité n'est pas totale.

let el = document.getElementById('id');
let value = window.getComputedStyle(el).getPropertyValue('text-indent');
Avec JQuery, modifier la valeur de text-indent
.

$('#id').css('text-indent', '3ex');
// ou
$('#id').css('textIndent', '3ex');
Avec JQuery, lire la valeur calculée de text-indent
.

let value = $('#id').css('text-indent');
Testez vous-même.
Les boutons ci-dessous appliquent la valeur saisie à la propriété text-indent
et affichent ensuite soit la valeur telle qu'elle a été appliquée,
soit la valeur calculée. Cette deuxième option permet de voir comment est sérialisée (mémorisée) la valeur de text-indent
. La plupart des unités
sont sérialisées en pixels.
Exemple interactif avec la propriété text-indent
.
Le simulateur vous permet de tester l'effet des retraits sur les premières lignes des blocs (propriété text-indent
),
mais aussi après les retours à la ligne forcés : présence d'une balise br/ dans le deuxième paragraphe.
L'indentation est la norme dans la composition des textes en langue française mais ce n'est pas le cas dans d'autres langues, comme les langues anglo-saxonnes.
L'indentation concerne la première ligne de chaque paragraphe ou chaque bloc de texte.⮐
Cette ligne, qui suit un retour à la ligne forcé (balise br) n'a pas de retrait, sauf avec la valeur each-line
.
Compatibilité des navigateurs avec text-indent
.
La propriété text-indent
en elle-même est très ancienne : elle est bien reconnue par tous les navigateurs.
Mais les nouvelles valeurs ajoutées récemment ( hanging
et each-line
) ne sont pas encore prises en charge.
C'est ce qui explique que la première colonne ne soit pas toute en vert.
text-indent
qui définit le retrait de la première ligne des paragraphes.hanging
pour la propriété text-indent
(cette valeur indique un retrait inversé des premières lignes de paragraphe).each-line
pour la propriété text-indent
.Remarques :
(1) Support partiel. Ne reconnait pas les mots hanging
et each-line
.
text-indent
hanging
each-line
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Opéra

Chrome

Safari

Firefox

Safari sur IOS

Edge

Chrome pour Androïd

Samsung Internet

Androïd Brower

Firefox pour Androïd

KaiOS Browser

Opéra mini
Histoire de la propriété text-indent
.
-
CSS 1 - Spécification concernant les feuilles de styles en cascade - Version 1
Définition initiale de la propriététext-indent
dans la version 1 du langage CSS.17 Novembre 1995Document de travail.12 Novembre 1996Proposé à la recommandation.17 Décembre 1996Recommandation.13 Septembre 2018Ancienne spécification, déclarée obsolète. -
CSS 2.1 - Spécification concernant les feuilles de styles en cascade - Révision 1
La valeurinherit
est acceptée.04 Novembre 1997Document de travail.24 Mars 1998Proposé à la recommandation.11 Mai 1998Recommandation. -
Module CSS - Texte - Niveau 3
Ajout des optionshanging
eteach-line
.27 Janvier 1999Document de travail.22 Décembre 2020Candidat à la recommandation. -
Module CSS - Texte - Niveau 4
Pas de changement concernant la propriététext-indent
.22 Septembre 2015Document de travail.
A propos de la gestion des textes, voir aussi.
La propriété text-indent
est décrite dans la spécification CSS Text Module, de même que tout ce qui concerne la gestion des textes
(alignement, espacements, césure, débordement, etc...). Les propriétés suivantes figurent également dans ce module de spécification :
Propriétés :
text-align
).