选择特定语言时,我将站点 CSS 覆盖为 RTL 版本。
我有一个必须具有绝对定位的元素。在 LTR 版本中,我这样做left: 0px;
并且它与左侧对齐;在 RTL 版本中,我想用 做相反的事情right
,但该left
属性没有被覆盖,所以它仍然保持在左边。
- 我试过用 hacking
!important
,但是没有用。 - 我试过设置
left: none
,但没有奏效。
如何在覆盖时将其设置为无或完全删除?
选择特定语言时,我将站点 CSS 覆盖为 RTL 版本。
我有一个必须具有绝对定位的元素。在 LTR 版本中,我这样做left: 0px;
并且它与左侧对齐;在 RTL 版本中,我想用 做相反的事情right
,但该left
属性没有被覆盖,所以它仍然保持在左边。
!important
,但是没有用。left: none
,但没有奏效。如何在覆盖时将其设置为无或完全删除?
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 支持。
我的猜测是,当 IE 11 被适当地淘汰时,我们将能够在 2022 年左右使用它。
left: initial
这也将设置left
回浏览器默认值。
但重要的是要知道property: initial
在 IE 中不受支持。