direction
direction: ltr | rtl
Définit le sens de base du texte et des éléments en ligne : de gauche à droite, ou de droite à gauche (arabe, hébreu, persan). Elle change aussi l’alignement par défaut du texte, l’ordre des colonnes d’un tableau et le sens des propriétés logiques (margin-inline-start…).
Valeurs
- ltr – par défaut : de gauche à droite.
- rtl – de droite à gauche.
Valeur initiale : ltr. Héritée : oui. S’applique à : tous les éléments.
Exemples
Le sens fixé avec l’attribut dir en HTML – avec des propriétés logiques, le CSS fonctionne alors pour les deux sens :
<p class="start">Le français de gauche à droite.</p> <p class="start" dir="rtl">العربية من اليمين إلى اليسار</p>
.start {
max-width: 300px;
margin: 0 0 6px;
padding-inline-start: 10px;
border-inline-start: 4px solid #38b8f9;
}
Points d’attention
- Le sens du texte fait partie du contenu, pas de l’apparence : pour un document ou un paragraphe en arabe ou en hébreu, réglez-le avec l’attribut
dir="rtl"en HTML (avec la langue danslang). Il fonctionne alors même sans CSS, dans les lecteurs d’écran et dans les moteurs de recherche. Gardez la propriétédirectionpour les exceptions. - Elle n’agit pas sur l’ordre des lettres à l’intérieur des mots – c’est l’algorithme Unicode qui le règle selon les caractères ;
directionfixe le sens du paragraphe et l’ordre des passages mélangés. - Ne l’utilisez pas pour « retourner » la mise en page d’un site de gauche à droite – Flexbox (
row-reverse) et grid sont faits pour cela.
Prise en charge par les navigateurs
Baseline – largement disponible : fonctionne dans tous les navigateurs courants, et depuis longtemps (au plus tard depuis 2015). Depuis la version : Chrome 2, Firefox 1, Safari 1. État : octobre 2026 (MDN browser-compat-data).
Voir aussi :
writing-mode
margin-inline et margin-block
text-align
:lang()