Изменение направления тега HTML <title> вправо-влево
Считайте это название для веб-страницы:
![enter image description here]()
Это смешанный текст с языков справа налево и слева направо, а направленность всего текста может быть:
-
Слева направо, если вы вставляете фрагменты rtl внутри текста ltr
![enter image description here]()
-
Справа налево, если вы вставляете фрагменты ltr внутри текста rtl
![enter image description here]()
На некоторых веб-страницах вам нужно предоставить заголовок справа налево, смешанный с текстовыми фрагментами слева направо. Однако браузер не форматирует его правильно. Он передает весь контент <title>
с направленностью ltr
. Это вызывает название, которое должно быть показано как
![enter image description here]()
будет показан как
![enter image description here]()
Я знаю, что CSS там не работает. Есть ли способ заставить браузер отображать <title>
с правильной направленностью?
Ответы
Ответ 1
Вы можете попробовать использовать символ Unicode RIGHT-TO-LEFT OVERRIDE. См. здесь.
То есть, запустите текст заголовка с помощью ‮
Быстрый тест показывает, что он работает, по крайней мере, в моем браузере; не уверен, что он будет работать во всех браузерах. И он может написать пиццу назад. Используйте с осторожностью.
Ответ 2
Используйте символ RIGHT-TO-LEFT EMBEDDING (RLE, U + 202B) в начале содержимого элемента title
, например.
<title>‫אבג Hello ابثج</title>
RLE обычно описывается и используется в качестве символа, который будет использоваться (вместе с POP DIRECTIONAL FORMATTING) для встраивания пробега текста слева направо в текст справа налево или наоборот, в ситуациях, когда arent правильно обрабатывается автоматическими механизмами. Но, похоже, он работает и для элементов title
, по крайней мере, в IE, Firefox и Opera.
Ответ 3
Вы пробовали:
<title>left to right ‮right to left</title>
Для тела вы можете использовать CSS (direction: rtl;
и unicode-bidi: bidi-override;
) или разметку (<bdo dir="rtl">
).
Демо: http://jsfiddle.net/ThinkingStiff/hD5Sp/
HTML:
<span>left to right <bdo dir="rtl">"right to left"</bdo> left to right</span><br />
<span class="rtl">right to left <span class="ltr">"left to right"</span> right to left</span>
CSS
.rtl {
direction: rtl;
unicode-bidi: bidi-override;
}
.ltr {
direction: ltr;
unicode-bidi: bidi-override;
}
Вывод:
![enter image description here]()
Ответ 4
Невозможно заставить браузер изменить направление.
Вы можете, конечно, написать предложение по-другому, и есть API-интерфейсы, которые могут получить текст RTL, предназначенный для RTL, и создать текст LTR, который его конечный результат будет выглядеть как действительное предложение RTL.
Обратите внимание, что некоторые браузеры, особенно в местах RTL-языка, получают браузер, который является RTL в первую очередь. То есть, их название - RTL. Для добра и для плохих. Поэтому, даже если вы применяете взломанный RTL-LTR, как я описал, эти пользователи будут видеть его в обратном порядке.
Ответ 5
Возможно ли, что часть заголовка будет справа налево, а часть ее слева направо?
например:
<title> This part is right to left | This part is left to right | This part is righ to left </title>
Ответ 6
Просто используйте эти правила CSS, чтобы охватить все ситуации:
*[dir="ltr"] {
direction: ltr;
unicode-bidi: embed;
}
*[dir="rtl"] {
direction: rtl;
unicode-bidi: embed;
}
bdo[dir="ltr"] {
direction: ltr;
unicode-bidi: bidi-override;
}
bdo[dir="rtl"] {
direction: rtl;
unicode-bidi: bidi-override;
}