Подтвердить что ты не робот

Изменение направления тега 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> с правильной направленностью?

4b9b3361

Ответ 1

Вы можете попробовать использовать символ Unicode RIGHT-TO-LEFT OVERRIDE. См. здесь.
То есть, запустите текст заголовка с помощью &#x202E;
Быстрый тест показывает, что он работает, по крайней мере, в моем браузере; не уверен, что он будет работать во всех браузерах. И он может написать пиццу назад. Используйте с осторожностью.

Ответ 2

Используйте символ RIGHT-TO-LEFT EMBEDDING (RLE, U + 202B) в начале содержимого элемента title, например.

<title>&#x202b;אבג Hello ابثج</title>

RLE обычно описывается и используется в качестве символа, который будет использоваться (вместе с POP DIRECTIONAL FORMATTING) для встраивания пробега текста слева направо в текст справа налево или наоборот, в ситуациях, когда arent правильно обрабатывается автоматическими механизмами. Но, похоже, он работает и для элементов title, по крайней мере, в IE, Firefox и Opera.

Ответ 3

Вы пробовали:

<title>left to right &#x202E;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;
}