2012-04-20 12 views
94

特定の言語を選択したときにサイトのCSSをRTLバージョンに上書きしています。position:absoluteのときにLeftプロパティを削除する方法

私は、絶対的な位置決めをしなければならない要素を持っています。 LTRバージョンでは、私はleft: 0px;を実行し、それは左に揃えられています。 RTLバージョンではrightと反対にする必要がありますが、leftプロパティはオーバーライドされないため、まだ左にとどまります。

  • 私は!importantでハッキングを試みましたが、うまくいかなかった。
  • left: noneを設定しようとしましたが、動作しませんでした。

どのようにして無効にするか、または上書き中に完全に削除できますか?

+0

'left 'のような特定のcss属性だけを削除するには、次のようにします:' var cssObject = $(' selector ')。prop(' style '); cssObject.removeProperty( 'left'); ' – ilgaar

答えて

260
left:auto; 

デフォルトでは、leftがデフォルトのブラウザに戻ります。 RTLを設定するときは、あなたが変更される可能性が

<div class="myClass"></div> 

.myClass 
{ 
    position:absolute; 
    left:0; 
} 

:あなたのようにあなたのマークアップ/ CSSを使用している場合


ので、将来的には

<div class="myClass rtl"></div> 

.myClass 
{ 
    position:absolute; 
    left:0; 
} 
.myClass.rtl 
{ 
    left:auto; 
    right:0; 
} 
13

1は、設定解除のためleft: unset;を使用します左の値。

現在4 nov 2014 unsetはFirefoxでのみサポートされています。

Read more about unset in MDN.

私の推測では、我々はIE 11が適切に段階的に廃止されたときに2022年のまわりでそれを使用することができますです。

+12

+1の楽天的なIE 11のコメントのコメント。 –

+0

IEは "IE"を "I'llnever dIE"に入れます。 –

+0

2017年末、Microsoft Edgeビルド10565+はそれをサポートしています –

1
left: initial 

これはまた、ブラウザのデフォルトに戻るleftを設定します。

property: initialは、IEではサポートされていません。

関連する問題