Как заказать строчные элементы в режиме RTL?

Я готовлю RTL версию сайта, и у меня проблема с конкретным макетом:

.content {
  width: 200px;
}

.content.rtl {
  direction: rtl;
  text-align: right;
}
<h5 class = "content">
  <span>3</span> <span>h</span> &nbsp; <span>45</span> <span>min</span>
</h5>
<h5 class = "content rtl">
  <span>3</span> <span>h</span> &nbsp; <span>45</span> <span>min</span>
</h5>

Первый тег h5 будет отображать содержимое в следующем порядке: «3h 45min», теперь я хочу, чтобы второй тег отображал следующее: «min45 h3», что в основном является обратным порядком.

Проблема в том, что я получаю следующее: «h 45min 3», и я понятия не имею, почему.

У вас есть предложения, как решить эту проблему с макетом?

Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
2
0
618
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

Просто используйте flex-direction: row-reverse

.content
{
	width: 200px;
}
.content.rtl
{
	display:flex;
  -webkit-flex-direction: row-reverse; 
  flex-direction: row-reverse;
}
<h5 class = "content">
	<span>3</span>
	<span>h</span>
	&nbsp;
	<span>45</span>
	<span>min</span>
</h5>
<h5 class = "content rtl">
	<span>3</span>
	<span>h</span>
	&nbsp;
	<span>45</span>
	<span>min</span>
</h5>
 Run code snippetCopy snippet to answerExpand snippet

использовать направление изгиба

dir влияет на диапазон, но диапазон не будет выровнен по правому краю, как вы ожидаете, только его содержимое.

Вы увидите эффект для span, если закончите его точкой - точка будет размещена слева, а не справа.

Div - это элемент display:block, то есть он заполняет всю ширину, поэтому текст в нем можно выровнять. Span - это display:inline, поэтому он находится в тексте, как буква (упрощенно).

(кстати - считается недопустимым иметь элемент блока внутри встроенного элемента)

Test right to left, div and span: <br />
<span>(span)  Hello World!</span> <br />
<span dir='rtl'>(span rtl)  Hello World!</span>
<div>(div) Hello World!</div>
<div dir='rtl'>(div rtl) Hello World!</div>

Просто добавьте display: inline-block к промежуткам

.content {
  width: 200px;
  border: solid 1px black;
}

.content.rtl {
  direction: rtl;
  text-align: right;
}

span {
  display: inline-block;
}
<h5 class = "content">
  <span>3</span>
  <span>h</span> &nbsp;
  <span>45</span>
  <span>min</span>
</h5>
<h5 class = "content rtl">
  <span>3</span>
  <span>h</span> &nbsp;
  <span>45</span>
  <span>min</span>
</h5>

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