位置:絶対に左プロパティを削除する方法


137

特定の言語を選択すると、サイトのCSSをRTLバージョンに上書きします。

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

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

オーバーライド中にnoneに設定するか、完全に削除するにはどうすればよいですか?


次のように特定のcss属性のみを削除するにleftは:var cssObject = $('selector').prop('style'); cssObject.removeProperty('left');
ilgaar

回答:


321
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;
}

20

将来的にはleft: unset;、leftの値を設定解除するために使用します。

現在、2014年11月4日unsetはFirefoxでのみサポートされています。

MDNでの設定解除の詳細をご覧ください。

私の推測では、IE 11が適切に段階的に廃止される2022年頃にそれを使用できるようになるでしょう。


IEは「IE」を「I'llnever dIE」に入れます。
アダムロウ2017年

1
2017年の終わりに、Microsoft Edgeビルド10565+がサポートします
Taras Yaremkiv

rightレスポンシブな変更の位置をクリアするためにこれを使用しただけ-完全に動作しました(Chromeで)
SenAnan

1
left: initial

これもleftブラウザのデフォルトに戻ります。

しかし、知っておくべき重要なことproperty: initialはIEではサポートされていません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.