Как поддерживать элементы HTML dom с языками RTL / LTR?

У меня есть несколько страниц в моей системе, которые включают таблицы (построенные с использованием div), которые могут содержать английский контент с одной стороны и иврит или какой-либо другой язык RTL с другой стороны.

Моя проблема в том, что когда эти столбцы содержат круглые скобки (в основном круглые скобки), они вызывают смесь, например:

)English (EN
עברית (iw_IL)

Пока мне удалось решить эту проблему с помощью этого класса css (когда известен язык содержимого и используется флаг для добавления этого класса в div):

.RTL:after {
    content: "\200E";
}

Используя это, скобки показаны правильно и пока все хорошо.

Теперь мне нужно иметь решение для кросс-приложений без использования флага для каждого div, решение css или любые другие технологии приветствуются.

Мне нужно решение, которое может быть применимо для обоих материалов (языки RTL и LTR).

Вот пример: jsfiddle.net/6o1nbLda. Какая у вас с этим проблема? Я не понимаю.

john c. j. 29.07.2018 15:25

@ johnc.j. теперь вы можете видеть, как отображается английский, добавьте / удалите класс RTL, чтобы увидеть разницу

roeygol 29.07.2018 15:53

Я не понимаю. Было бы лучше, если бы вы сделали jsFiddle, который покажет ошибку.

john c. j. 29.07.2018 16:03

ок .. посмотри на это - jsfiddle.net/6o1nbLda/15

roeygol 29.07.2018 16:06

Смотрите обновленный ответ!

john c. j. 29.07.2018 16:35

Вы имеете в виду, что мне нужно оставить его как есть и просто изменить его на ltr для указанного div, который мне нужен?

roeygol 29.07.2018 16:51

Вы заметили элемент bdi?

john c. j. 29.07.2018 16:53

нет, пришлите мне последний код, который вы сделали

roeygol 29.07.2018 16:57

Он размещен ниже. Вот только копия: jsfiddle.net/63ovhkgL

john c. j. 29.07.2018 17:00
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
9
245
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вот моя попытка:

Теория: https://www.w3.org/International/articles/inline-bidi-markup/

<body class = "rtl">
    <style>
        .table { display: table; }
        .tr { display: table-row; }
        .td { display: table-cell; }
        .table, .tr, .td { border: 1px solid; border-collapse: collapse; }
        .rtl { direction: rtl; }
        .ltr { direction: ltr; }
    </style>

    <p>עבריתעבריתעבריתעברית</p>
    <p>עבריתעברית</p>

    <div class = "table">
        <div class = "tr">
            <div class = "td ltr">
                <p>English (EN)</p>
                <p>dbdjk dk ddkj ddjh dj dhjd</p>
            </div>
            <div class = "td">
                <p><bdi>(iw_IL) עברית</bdi></p>
                <p>עבריתעבריתעבריתעברית</p>
            </div>
        </div>
    </div>
</body>

Еще варианты:

<p><span dir = "auto">(iw_IL) עברית</span></p> <!-- or dir = "ltr" -->

у вас все еще есть различие между каждым полем, мне нужно иметь один и тот же стиль для всех представленных данных

roeygol 29.07.2018 22:13

Другие вопросы по теме