Направление написания текста

Текст этой книги следует читать слева направо и сверху вниз, таково направление письма в русском языке. Однако не все языки читаются так. Существует множество языков с написанием справа налево, таких как иврит или арабский, и CSS2 представляет свойство для описания их направленности. Свойство direction влияет на направление написания текста блочного элемента, направление размещения столбца таблицы, направление, в котором содержимое заполняет блок своего элемента в горизонтальной плоскости, и на положение последней строки выровненного по ширине элемента. Для строковых элементов направление применяется, только если свойству unicode-bidi задано или значение embed, или bidi-override. (Описание unicode-bidi приведено ниже.)

Значение ltr устанавливается по умолчанию, но предполагается, что если броузер отображает текст, написанный справа налево, значение изменится на rtl. Таким образом, броузер мог бы иметь внутреннее правило, утверждающее примерно следующее:

*:lang(ar), *:lang(he) {direction: rtl;}

Реальное правило могло бы быть более длинным и включать все языки с написанием справа налево, а не только арабский и иврит, но пример приведен лишь для иллюстрации.


Пока CSS лишь делает попытку учитывать направление написания, в Unicode уже есть намного более надежный метод обработки направленности. Имея в распоряжении свойство unicod-bidi, CSS-авторы могут использовать преимущество некоторых возможностей Unicode.
Здесь мы лишь приведем описания значений из спецификации CSS2.1, которые хорошо отражают суть каждого из них:

normal
Элемент не открывает дополнительного уровня вложенности согласно двунаправленному алгоритму. Для строковых элементов неявное переупорядочивание выполняется в пределах их границ.

embed
Если элемент строковый, это значение открывает дополнительный уровень вложенности согласно двунаправленному алгоритму. Направление этого уровня вложенности задается свойством direction. Внутри элемента переупорядочивание осуществляется неявно. Это аналогично добавлению LRE (U+202A; для direction: ltr) или RLE (U+202B; для direction: rtl) в начало элемента и PDF (U+202C) в конец.

bidi-override
Этим создается замещение для строкового элемента. Для элементов уровня блока создается замещение для строковых потомков, находящихся только в этом блоке. Это означает, что внутри элемента переупорядочивание проводится в последовательности, строго соответствующей свойству direction; неявная часть двунаправленного алгоритма игнорируется. Это аналогично добавлению LRO (U+202D; для direction: ltr) или RLO (U+202E; для direction: rtl) в начало элемента и PDF (U+202C) в конец элемента.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела CSS на эту тему:
В середине
Вертикальное выравнивание текста
Выравнивание по базовой линии
Выравнивание по верхнему краю
Выравнивание по заданному расстоянию

Вернуться в раздел: CSS / 6. Свойства текста