145

选择特定语言时,我将站点 CSS 覆盖为 RTL 版本。

我有一个必须具有绝对定位的元素。在 LTR 版本中,我这样做left: 0px;并且它与左侧对齐;在 RTL 版本中,我想用 做相反的事情right,但该left属性没有被覆盖,所以它仍然保持在左边。

  • 我试过用 hacking !important,但是没有用。
  • 我试过设置left: none,但没有奏效。

如何在覆盖时将其设置为无或完全删除?

4

3 回答 3

343
left:auto;

这将默认left返回浏览器默认值。


因此,如果您的标记/CSS 为:

<div class="myClass"></div>

.myClass
{
  position:absolute;
  left:0;
}

设置 RTL 时,您可以更改为:

<div class="myClass rtl"></div>

.myClass
{
  position:absolute;
  left:0;
}
.myClass.rtl
{
  left:auto;
  right:0;
}
于 2012-04-20T11:55:07.447 回答
23

将来人们将left: unset;用于取消设置 left 的值。

截至今天 2014 年 11 月 4 日unset,仅 Firefox 支持。

在 MDN 中阅读有关 unset 的更多信息。

我的猜测是,当 IE 11 被适当地淘汰时,我们将能够在 2022 年左右使用它。

于 2014-11-04T14:53:13.037 回答
1
left: initial

这也将设置left回浏览器默认值。

但重要的是要知道property: initial在 IE 中不受支持。

于 2015-09-15T12:17:33.027 回答