如何删除左属性时的位置: 绝对?

当选择特定的语言时,我将重写站点 CSS 到 RTL 版本。

我有一个元素,它必须有绝对的位置。在 LTR 版本中,我执行 left: 0px;,它向左对齐; 在 RTL 版本中,我想对 right执行相反的操作,但是 left属性没有被覆盖,所以它仍然向左对齐。

  • 我试过用 !important黑进去,但没用。
  • 我试过设置 left: none,但没用。

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

118459 次浏览
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;
}

将来我们会使用 left: unset;来取消 left 的值。

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

在 MDN 中阅读更多关于 unset 的内容。

我的猜测是,我们将能够使用它大约在2022年,届时 IE 11是正确地逐步淘汰。

left: initial

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

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