145

特定の言語が選択されたときに、サイトの CSS を RTL バージョンにオーバーライドしています。

絶対配置が必要な要素があります。LTR バージョンではleft: 0px;、左に揃えています。RTL バージョンでは、 で反対のことをしたいのですrightが、leftプロパティはオーバーライドされていないため、左側のままです。

  • でハッキングを試みまし!importantたが、うまくいきませんでした。
  • を設定してみましleft: noneたが、うまくいきませんでした。

オーバーライド中に 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 に答える