В языке справа налево (например, на арабском и иврите), скобка отменена

Теперь у меня есть строка вроде (в ltr)

Ивритский текст (3)

и когда я использую dir = "rtl" или direction: rtl для перенаправления строки, на которой она фактически идет:

מחיר אחד (3)

(на самом деле я ввел древнееврейский символ (3), теперь он автоматически стал таким же, как выше ↑)

есть ли способ сделать это как

(3) Еврейский текст

(используя html или css)

3 ответа

Вам не нужно обертывать текст в квадратных скобках в отдельный промежуток.

Скорее, чтобы устранить эту проблему, добавьте символ управления RLM () после закрывающей скобки. Персонаж RLM действует как иврит/арабский символ, поэтому скобка (которая является слабым персонажем) меняет свое направление и перемещается в нужное место.

Так же:

<div>מחיר אחד(3)‏</div>

NB: Если вы установите атрибут dir="rtl" в элементе - тогда даже командный символ RLM не нужен.

Так же:

<div dir="rtl">מחיר אחד(3)</div>

CODEPEN (jsFiddle down by me)

Этот microsoft doc объясняет управляющий символ RLM вместе с другими аналогичными управляющими символами.


(обновлено: спасибо, чтобы разъяснить ваш комментарий)

это немного менее инвазивное решение (результат jsFiddle):

<span lang="he" dir="rtl">מחיר אחד<span>(3)</span></span>

Кажется, что последние круглые скобки рассматриваются как пунктуация и, следовательно, обрабатываются по-разному. Эта статья дала мне некоторую ясность:

... Обратите внимание, что в отличие от align = "right", пунктуация также перемещается... См. Пример RTL-документа

В образце документа одно и то же перемещение последних круглых скобок также происходит в субтитре "Двунаправленное переопределение (BDO)".

* проверил решение jsfiddle в последнем chrome/ff/safari/ie


одним из решений является добавление **‎** после скобки

благодаря @freeworlder для решения на скобках отображается неправильно для стиля отображения справа налево

даже вы можете использовать другие char, перейдите по этой ссылке http://www.codetable.net/hex/200e

licensed under cc by-sa 3.0 with attribution.