Свойство CSS `unicode-bidi`
Базовая доступность Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с января 2020 года.
Свойство unicode-bidi CSS вместе со свойством direction определяет, как обрабатывается двунаправленный текст в документе. Например, если блок содержимого содержит текст, написанный как слева направо, так и справа налево, пользовательский агент использует сложный алгоритм Unicode, чтобы определить, как отображать текст. Свойство unicode-bidi переопределяет этот алгоритм и позволяет разработчику управлять встраиванием текста.
Попробуйте
unicode-bidi: normal;
unicode-bidi: bidi-override;
unicode-bidi: plaintext;
unicode-bidi: isolate-override;
<section class="default-example" id="default-example">
<p class="transition-all" id="example-element">
בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ.
</p>
</section>
Свойства unicode-bidi и direction — единственные свойства, на которые не влияет сокращённое свойство all.
Предупреждение: Это свойство предназначено для разработчиков определений типа документа (DTD). Веб-разработчикам и другим авторам не следует переопределять его.
Синтаксис
/* Keyword values */ unicode-bidi: normal; unicode-bidi: embed; unicode-bidi: isolate; unicode-bidi: bidi-override; unicode-bidi: isolate-override; unicode-bidi: plaintext; /* Global values */ unicode-bidi: inherit; unicode-bidi: initial; unicode-bidi: revert; unicode-bidi: revert-layer; unicode-bidi: unset;
Значения
-
normal - Элемент не создаёт дополнительный уровень встраивания относительно алгоритма двунаправленного текста. Для строчных элементов неявная перестановка выполняется через границы элементов.
-
embed - Если элемент является строчным, это значение создаёт дополнительный уровень встраивания относительно алгоритма двунаправленного текста. Направление этого уровня встраивания задаётся свойством
direction. -
bidi-override - Для строчных элементов это значение создаёт переопределение. Для блочных контейнеров оно создаёт переопределение для потомков строчного уровня, не находящихся внутри другого блочного контейнера. Это означает, что внутри элемента перестановка выполняется строго по порядку, заданному свойством
direction; неявная часть алгоритма двунаправленного текста игнорируется. -
isolate - Это ключевое слово указывает, что направление контейнера элемента следует вычислять, не учитывая содержимое этого элемента. Поэтому элемент изолирован от соседних элементов. При применении алгоритма разрешения двунаправленного текста его родительский элемент рассматривает его как один или несколько
U+FFFC Object Replacement Character, то есть как изображение. -
isolate-override - Это ключевое слово применяет поведение изоляции ключевого слова
isolateк окружающему содержимому, а поведение переопределения ключевого словаbidi-override— к внутреннему содержимому. -
plaintext - Это ключевое слово позволяет вычислять направление элементов, не учитывая состояние двунаправленного текста родительского элемента и значение свойства
direction. Направление вычисляется с помощью правил P2 и P3 алгоритма двунаправленного текста Unicode. Это значение позволяет отображать данные, уже отформатированные с помощью инструмента, реализующего алгоритм двунаправленного текста Unicode.
Формальное определение
| Исходное значение | normal |
|---|---|
| Применяется к | всем элементам, хотя некоторые значения не влияют на строчные элементы |
| Наследуется | нет |
| Вычисленное значение | как задано |
| Тип анимации | Не анимируется |
Формальный синтаксис
unicode-bidi =
normal |
embed |
isolate |
bidi-override |
isolate-override |
plaintext
Примеры
CSS
.bible-quote {
direction: rtl;
unicode-bidi: embed;
}
HTML
<div class="bible-quote">A line of text</div> <div>Another line of text</div>
Результат
Спецификации
| Спецификация |
|---|
| Режимы письма CSS, уровень 4 # unicode-bidi |
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
unicode-bidi |
2 |
12 |
1 |
9.2 |
1.3 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
bidi-override |
2 |
12 |
1 |
15 |
1.3 |
18 |
4 |
14 |
1 |
1.0 |
4.4 |
1 |
embed |
2 |
12 |
1 |
15 |
1.3 |
18 |
4 |
14 |
1 |
1.0 |
4.4 |
1 |
isolate |
48
16До Chrome 47 свойство-webkit-isolate могло привести к зависанию браузера.Начиная с Chrome 19 допускается синтаксис из предыдущей версии спецификации, в которой ключевое слово isolate можно было использовать вместе с bidi-override. |
79
79
|
50
10–54В Firefox с 10-й по 16-ю версию включительно ключевое словоisolate можно было использовать вместе с bidi-override — таков был синтаксис предыдущей версии спецификации. Начиная с Firefox 17 допускается только одно значение. Вместо предыдущего isolate bidi-override используйте isolate-override. |
35
15До Opera 34 свойство-webkit-isolate могло привести к зависанию браузера.Начиная с Opera 15 допускается синтаксис из предыдущей версии спецификации, в которой ключевое слово isolate можно было использовать вместе с bidi-override. |
11
6До Safari 9 свойство-webkit-isolate могло привести к зависанию браузера. |
48 |
50
10–54В Firefox для Android с 10-й по 16-ю версию включительно ключевое словоisolate можно было использовать вместе с bidi-override — таков был синтаксис предыдущей версии спецификации. Начиная с Firefox для Android 17 допускается только одно значение. Вместо предыдущего isolate bidi-override используйте isolate-override. |
35 |
11
6До Safari на iOS 9 свойство-webkit-isolate могло привести к зависанию браузера. |
5.0 |
48 |
11
6До WebView на iOS 9 свойство-webkit-isolate могло привести к зависанию браузера. |
isolate-override |
48 |
79 |
50
17–54
|
35 |
11
7
|
48 |
50
17–54
|
35 |
11
7
|
5.0 |
48 |
11
7
|
normal |
2 |
12 |
1 |
15 |
1.3 |
18 |
4 |
14 |
1 |
1.0 |
4.4 |
1 |
plaintext |
48 |
79 |
50
10–54До Firefox 50 значениеplaintext игнорировалось при вертикальном режиме письма (ошибка 1302734).До Firefox 15 свойство plaintext не оказывало никакого действия на строчный элемент. Спецификация изменилась, и реализация была обновлена в Firefox 15. |
35 |
11
6
|
48 |
50
10–54До Firefox для Android 50 значениеplaintext игнорировалось при вертикальном режиме письма (ошибка 1302734).До Firefox для Android 15 свойство plaintext не оказывало никакого действия на строчный элемент. Спецификация изменилась, и реализация была обновлена в Firefox для Android 15. |
35 |
11
6
|
5.0 |
48 |
11
6
|
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/unicode-bidi