Справа налево (RTL) английские слова отображаются в формате HTML
Проблема в том,
<p>Hi world</p>
LTR:
Hi world
RTL:
world Hi
Я не могу получить этот дисплей RTL не использует CSS.
Я попробовал эти свойства CSS сейчас.
direction: rtl;
unicode-bidi: embed || normal; //same effect, nothing changes.
unicode-bidi: bidi-override; //each letter comes from r-t-l. Like: dlrow iH
text-align: right;
В любом случае, чтобы получить текст world Hi
Форма с использованием CSS.
Спасибо
3 ответа
Нет, это невозможно, и направленность не предназначена для таких операций.
direction
свойство, а также его HTML-аналог dir
атрибут, задает направленность нейтрально направленного текста. Это не влияет на строки, которые имеют сильную внутреннюю направленность, даже если вмешиваются нейтральные символы, такие как пробелы. Значение bidi-override
означает, что это говорит, это просто заставляет единственное направление письма.
Вам также нужно будет поработать над словами, и поскольку в CSS нет псевдоэлементов, которые можно было бы использовать здесь, вам нужно будет использовать реальные элементы, такие как разметка
<p><span class=w>Hi</span> <span class=w>world</span></p>
Затем вы можете использовать различные настройки направленности для всего элемента и отдельных слов:
span { unicode-bidi: embed;}
p { unicode-bidi: bidi-override; direction: rtl; text-align: left; }
Я думаю, что с "RTL" вы получите вывод, как: "Dlrow IH"
Поскольку вы не можете обнаружить отдельные слова в CSS, я бы порекомендовал использовать JavaScript для этой проблемы:
var string = "Hi world";
var array = string.split(" ");
var reversed = array.reverse();
reversed
-> ["world", "Hi"]
Я всегда думал, что направление чтения было установлено в открывающем теге html, вот так:
<html dir="rtl">