我在 css 中的 rtl 我的页面有问题,任何人都可以帮助我吗?

I have a problem about rtl my page in css, can anyone help me?

当我想在任何文本或跨度旁边添加 rtl 元素包括 <i> 标签时,我遇到了创建 rtl(从右到左)样式表的问题。 例如,有这样的事情: 此标签内包含三个元素:

<li><a href="#"><i class="sl sl-icon-docs"></i>Requests<span>2</span></a></li>

第一张图片:这是我在 rtl 之前的主题:

  1. 位于主按钮标题之前的图标

  2. 按钮标题

  3. 一个标签,用于显示新请求的数量作为标签。

一个顺序应该反转并从右边显示 <a> 标签内的所有项目,这意味着从右边我们将有 1.icon 2.title 3.label

第二张图片:通过在主要内容上使用 flex-direction: row-reverse; 进行 rtl:

我将 direction: rtl; 应用到 <li> 元素,但没有任何效果,您可以在第二张图片上看到变化。

您可以使用 flex-direction: row-reverse 反转 link <a> 的内容:

.reverse{
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
<ul>
    <li><a href="#"><i class="sl sl-icon-docs">Icon</i>Requests<span>2</span></a></li> 
     <li><a href="#" class="reverse"><i class="sl sl-icon-docs">Icon</i>Requests<span>2</span></a></li> 
</ul>

<!-- Other examples -->

<a class="reverse">(1) Click me<i class="sl sl-icon-docs">(2) icon</i></a>
<h3 class="reverse">(1) Title example<i class="sl sl-icon-docs">(2) icon</i></h3>

RTL 有效,但在 <span> 部分无效。如果你能把span改成一个division就可以了。

否则你可以在制作 <li> 之后使用 flex-direction: row-reverse display:flex

这是我的代码:

#rtl {
  direction: rtl;
}

#flex>a {
  display: flex;
  flex-direction: row-reverse;
}

li {
  background: red;
  padding: 1em;
  border-radius: 3em;
  margin: 1em;
  text-decoration: none;
  width: 200px;
  text-align: center;
}

span {
  background: white;
  border-radius: 10em;
  padding: 0 0.7em;
}

ul {
  list-style-type: none;
}
<ul>
  <li id="normal">
    <a href="#">
      <img src="https://picsum.photos/30/30?image=0" />Normal <span>1</span>
    </a>
  </li>
  <li id="rtl">
    <a href="#">
      <img src="https://picsum.photos/30/30?image=0" />RTL <span>2</span>
    </a>
  </li>
  <li id="flex">
    <a href="#">
      <img src="https://picsum.photos/30/30?image=0" />Row-Reverse <span>3</span>
    </a>
  </li>
</ul>

代码需要一些润色,但我认为您已经找到了想要的东西。

希望对您有所帮助。

和平