La propriété unicode-bidi, associée à la propriété direction, permet de gérer du texte bidirectionnel dans un document. Par exemple, si un bloc de texte contient à la fois du texte qui se lit de droite à gauche et du texte qui se lit de gauche à droite, l'agent utilisateur utilisera un algorithme Unicode complexe pour savoir comment afficher le texte. Cette propriété prend le pas sur l'algorithme et permet au développeur de contrôler l'intégration du texte.

Les propriétés unicode-bidi et direction sont les deux seules propriétés qui ne sont pas impactées par all.

Note : Cette propriété est d'abord destinée aux concepteurs de DTD, les auteurs Web ne devraient pas surcharger sa valeur.
/* Avec un mot-clé */
unicode-bidi: normal;
unicode-bidi: embed;
unicode-bidi: isolate;
unicode-bidi: bidi-override;
unicode-bidi: isolate-override;
unicode-bidi: plaintext;

/* Valeurs globales */
unicode-bidi: inherit;
unicode-bidi: initial;
unicode-bidi: unset;

Valeur initialenormal
Applicabilitétous les éléments bien que certaines valeurs n'aient pas d'effet sur les éléments qui ne sont pas en ligne
Héritéenon
Médiavisuel
Valeur calculéecomme spécifié
Type d'animationdiscrète
Ordre canoniquel'ordre unique et non-ambigu défini par la grammaire formelle

Syntaxe

Valeurs

normal
L'élément n'ajoute pas de niveau de logique supplémentaire pour l'intégration et l'application de l'algorithme de bidirectionnalité. Pour les éléments en ligne, le réarrangement des éléments est fait entre les frontières des éléments.
embed
Si l'élément est en ligne, la valeur ajoute un niveau de logique supplémentaire pour l'intégration. La direction du niveau d'intégration est fournie par la propriété direction.
bidi-override
Pour les éléments en ligne, cela surcharge la directionnalité. Pour les conteneurs de bloc, cela crée une surcharge pour les éléments-fils qui sont en ligne et qui ne sont pas dans un autre conteneur de bloc. Cela signifie qu'au sein de l'élément, le réarrangement se fait strictement en fonction de la propriété direction, la partie implicite apportée par l'algorithme de bidirectionnalité est ignorée.
isolate
Ce mot-clé indique que la directionnalité du conteneur de l'élément devrait être calculée sans prendre en compte le contenu de cet élément. L'élément est donc isolé (isolated en anglais) de ses voisins. Lorsqu'on applique l'algorithme de résolution bidirectionnelle, l'élément conteneur le traite comme un ou plusieurs U+FFFC Object Replacement Character (autrement dit, comme une image).
isolate-override
Ce mot-clé applique l'isolation fournie par isolate au contenu environnant et applique la surcharge fournie par bidi-override au contenu intérieur.
plaintext
Ce mot-clé permet de calculer la directionnalité de l'élément sans prendre en compte l'état de son parent ou la valeur de la propriété direction. La directionnalité est calculée en utilisant les règles P2 et P3 de l'algorithme de bidirectionnalité Unicode.
Cette valeur permet d'affiché des données qui ont déjà été mises en forme par un outil ayant appliqué l'algorithme de bidirectionnalité Unicode.

Syntaxe formelle

normal | embed | isolate | bidi-override | isolate-override | plaintext

Exemples

.bible-quote {
  direction: rtl;   
  unicode-bidi: embed;
} 

Spécification

Spécification État Commentaires
CSS Writing Modes Module Level 3
La définition de 'unicode-bidi' dans cette spécification.
Candidat au statut de recommandation Ajout des mots-clés plaintext, isolate et isolate-override.
CSS Level 2 (Revision 1)
La définition de 'unicode-bidi' dans cette spécification.
Recommendation Définition initiale.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet 2Edge Support complet 12Firefox Support complet 1IE Support complet 5.5Opera Support complet 9.2Safari Support complet 1.3WebView Android Support complet 1Chrome Android Support complet OuiEdge Mobile Support complet OuiFirefox Android Support complet 4Opera Android Support complet 8Safari iOS Support complet 3.1Samsung Internet Android Support complet Oui
isolateChrome Support complet 48
Support complet 48
Support complet 16
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -webkit-
Notes Avoiding using -webkit-isolate. It can lock up older versions of Safari (up to version 9) and Chrome (up to version 47).
Notes Since Chrome 19, the syntax from a previous version of the specification, where the isolate keyword could be used together with bidi-override, is allowed.
Edge Aucun support NonFirefox Support complet 50
Support complet 50
Aucun support 10 — 54
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
Notes From Firefox 10 to Firefox 16 (inclusive), the isolate keyword could be used together with bidi-override, which was the syntax from a previous version of the specification. From Firefox 17, only one value is allowed. Use isolate-override instead the previous isolate bidi-override.
IE Aucun support NonOpera Aucun support NonSafari Support complet Oui
Préfixée Notes
Support complet Oui
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -webkit-
Notes Avoiding using -webkit-isolate. It can lock up older versions of Safari (up to version 9) and Chrome (up to version 47).
WebView Android Support complet 48Chrome Android Support complet 48Edge Mobile Aucun support NonFirefox Android Support complet 50
Support complet 50
Aucun support 10 — 54
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
Notes From Firefox 10 to Firefox 16 (inclusive), the isolate keyword could be used together with bidi-override, which was the syntax from a previous version of the specification. From Firefox 17, only one value is allowed. Use isolate-override instead the previous isolate bidi-override.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Support complet 5.0
plaintextChrome Support complet 48Edge Aucun support NonFirefox Support complet 50
Support complet 50
Aucun support 10 — 54
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
Notes Before Firefox 50, the plaintext value was ignored for vertical writing modes (bug 1302734).
Notes Before Firefox 15, plaintext didn't do anything to an inline element. The specification changed and the implementation was changed in Firefox 15.
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 48Chrome Android Support complet 48Edge Mobile Aucun support NonFirefox Android Support complet 50
Support complet 50
Aucun support 10 — 54
Préfixée Notes
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
Notes Before Firefox 50, the plaintext value was ignored for vertical writing modes (bug 1302734).
Notes Before Firefox 15, plaintext didn't do anything to an inline element. The specification changed and the implementation was changed in Firefox 15.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Support complet 5.0
isolate-overrideChrome Support complet 48Edge Aucun support NonFirefox Support complet 50
Support complet 50
Aucun support 17 — 54
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 48Chrome Android Support complet 48Edge Mobile Aucun support NonFirefox Android Support complet 50
Support complet 50
Aucun support 17 — 54
Préfixée
Préfixée Nécessite l'utilisation d'un préfixe : -moz-
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android Support complet 5.0

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.
Cette fonctionnalité nécessite un préfixe particulier ou utilise un autre nom.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, trouba, Sebastianz, teoli, FredB, ThePrisoner
Dernière mise à jour par : SphinxKnight,