Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

unicode-bidi

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.

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é
Animablenon
Ordre canoniquel'ordre unique et non-ambigu défini par la grammaire formelle

Syntaxe

/* 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;

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 bidirecitonnalité Unicode.

Syntaxe formelle

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

Exemples

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

Spécification

Spécification Statut 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

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 2.0 1.0 (1.7 ou moins) 5.5 9.2 1.3
isolate 16 -webkit [1][4]
48.0
10 (10) -moz [2]
50 (50)
Pas de support Pas de support -webkit [4]
plaintext 48.0 10 (10) -moz
50 (50)
Pas de support Pas de support Pas de support
isolate-override 48.0 17 (17) -moz
50 (50)
Pas de support Pas de support Pas de support
Fonctionnalité Android Webview Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support 1.0 (Oui) 1.0 (1.0) 6 8 3.1 (Oui)
isolate ? 48.0 10.0 (10) -moz
50.0 (50)
Pas de support Pas de support Pas de support 48.0
plaintext Pas de support 48.0 10.0 (10) -moz [3]
50.0 (50)
Pas de support Pas de support Pas de support 48.0
isolate-override Pas de support 48.0 17.0 (17) -moz
50.0 (50)
Pas de support Pas de support Pas de support 48.0

[1] Depuis Chrome 19, la syntaxe permise dans une version antérieure de la spécification est permise (celle où on peut utiliser le mot-clé isolate avec bidi-override).

[2] Entre Firefox 10 et Firefox 16 (inclus), l'ancienne version de la spécification, où isolate pouvait être utilisé avec bidi-override, a été implémentée. Avec Firefox 17, ce n'est plus possible, seule une seule valeur est permise et la combinaison isolate bidi-override peut désormais être décrite avec le mot-clé isolate-override.

[3] Jusqu'à Firefox 15, plaintext n'avait pas d'impact sur les éléments en ligne (inline). La spécification a évolué et l'implémentation a été corrigée avec Firefox 15.

[4] -webkit-isolate peut bloquer d'anciennes versions de Safari (jusqu'à la version 9) et Chrome (jusqu'à la version 47), mieux vaut l'éviter et préférer la version non préfixée.

Voir aussi

Étiquettes et contributeurs liés au document

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