特定の言語が選択されると、サイトの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の値を設定解除するためにleft: unset;
を使用するでしょう。
現在、2014年11月4日unset
はFirefoxでのみサポートされています。
私の推測では、IE 11が適切に段階的に廃止される2022年ごろに使用できるようになるでしょう。
left: initial
これにより、left
がブラウザのデフォルトに戻ります。
ただし、property: initial
はIEではサポートされていません。