当选择特定语言时,我将网站CSS重写为RTL版本。
我有一个必须具有绝对定位的元素。在LTR版本中,我做left: 0px;
并且它与左边对齐;在RTL版本中,我希望与right
执行相反的操作,但left
属性不会被覆盖,因此它仍然保留在左侧。
!important
进行黑客攻击,但这不起作用。left: none
,但这不起作用。如何在覆盖时将其设置为无或完全删除?
答案 0 :(得分:291)
left:auto;
这将默认left
返回浏览器默认值。
因此,如果您将Markup / 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;
}
答案 1 :(得分:15)
将来可以使用left: unset;
取消左侧的值。
截至今天,2014年4月4日unset
仅在Firefox中受支持。
我的猜测是,当IE 11被正确淘汰时,我们将能够在2022年左右使用它。
答案 2 :(得分:1)
left: initial
这也会将left
设置回浏览器默认值。
但是IE中不支持知道property: initial
很重要。