CSSまたはJqueryを使用してleft:0をオーバーライドする方法?


104

次のCSSを持つ要素があります。

.elem {
  left: 0;
  position: fixed;
  right: 0;
  width: 60%;
  z-index: 1000;
  }

要素は画面全体に広がりません。画面の右側に「整列」させたいのですが。

left:0を削除しただけなら簡単ですが、上記のCSSを改ざんできないため、left:0 CSS をオーバーライド、無効化、または削除するには、CSSまたはJqueryが必要です。

手伝ってくれてありがとう!

回答:


238

のデフォルト値leftautoなので、それに設定するだけで、「リセット」されます。

.elem {
  left: auto;
}

上記が元のCSSファイルの後に来ることを確認してください。


1
ありがとう!私は ''を試していましたが、それはもう私を捕まえませんでした。知ってよかった。
頻繁

@頻出JavaScriptを使用している場合は ''のような値を使用できますが、CSSでは使用できません。とにかく、スタイルシートを改ざんできないとは思いませんでしたか?その場合、style="left:auto"要素自体の属性がトリックを実行し、スタイルシートをオーバーライドします。
リスター氏、


4

autoCSSのプロパティを試してください。これはデフォルト値と同じです。


2

jqueryの場合:

$(".elem").css("left", "");

これは指定された値(この場合は「0」)にリセットしませんか?
ディオン

1
@Antonio:これは実際に<div left="0">は、CSSを変更するのではなく、無効な「左」HTML属性を設定することになります。Janのコメントはまだ有効です(つまり、JSの必要はありません)が、$(".elem").css("left", "");何かで行うことができます。
2012

Ops、それは本当です...この可能な解決策を編集して置きます。ありがとう。
Antonio Beamud

0

抽出したこのスタイルが外部のスタイルでも内部のスタイルでも、次のような内部のスタイルで上書きできます。

.elem {
    position: fixed;
    right: 0;
    width: 60%;
    z-index: 1000;
  }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.