cssプロパティを無効にするにはどうすればよいですか?


109

基本的に、ページに2つの外部CSSがあります。

最初のものにMain.cssはすべてのスタイルルールが含まれていますが、それにアクセスすることができないため、変更できません。2番目のファイルにアクセスできるTemplate.cssので、Main.cssの値を上書きする必要がありますtemplate.css

これは簡単ですが、値を変更する必要がありますが、プロパティを完全に削除するにはどうすればよいですか?

クラス.c1がを持っていると言うheight: 40px;ように、この高さプロパティを取り除くにはどうすればよいですか?


回答:


175

個々のプロパティをデフォルト値にリセットする必要があります。それは素晴らしいことではありませんが、あなたが私たちに提供した情報を考えると、それが唯一の方法です。

あなたの例では、あなたはそうするでしょう:

.c1 {
    height: auto;
}

ここで各プロパティを検索する必要があります。

https://developer.mozilla.org/en-US/docs/Web/CSS/Reference

たとえばheight次のとおりです。

初期値 : auto

別のmax-height

初期値 : none


2017年には、別の方法であるunsetキーワードがあります。

.c1 {
    height: unset;
}

いくつかのドキュメント:https : //developer.mozilla.org/en-US/docs/Web/CSS/unset

未設定のCSSキーワードは、初期キーワードと継承キーワードの組み合わせです。これらの他の2つのCSS全体のキーワードと同様に、CSSの省略形allを含むすべてのCSSプロパティに適用できます。このキーワードは、親から継承する場合はプロパティを継承値にリセットし、そうでない場合は初期値にリセットします。つまり、最初のケースではinheritキーワードのように動作し、2番目のケースでは初期キーワードのように動作します。

ブラウザのサポートは良好です:http : //caniuse.com/css-unset-value


3
良い答えと参照のための+1。リンクは次のように変更されたと思います:developer.mozilla.org/en-US/docs/Web/CSS/Reference
Paolo

初期値がない場合(「初期値:なし」)、値をautoに設定しても機能しないようです。たとえば、「max-width:auto;」を実行する場合。プロパティ値の不一致エラーが発生します。私は何をすべきか?
user1779563

3
@ user1779563「なし」に設定します。
AndreKR 2015年

1
私の回答は受け入れられ、人々はスクロールダウンできないので、私が恥知らずに盗んだ彼の回答について@simhumilecoに感謝します。
thirtydot 2017

10
.c1 {
    height: unset;
}

unset付加価値CSS3はまた、この問題を解決し、それがより一層普遍的な方法ですautoinitial、それはさらにそのデフォルトbehawior親と比較して、すべてのCSSプロパティデフォルト値に設定しているため。

initial値は前述の動作を壊すことに注意してください。

MDNから:

これらの他の2つのCSS全体のキーワードと同様に、CSSの省略形allを含む、あらゆるCSSプロパティに適用できます。このキーワードは、親から継承する場合はプロパティを継承値にリセットし、そうでない場合は初期値にリセットします。


9

たとえば、クラス.c1の高さは40pxです。この高さプロパティを削除するにはどうすればよいですか?

残念ながらできません。CSSには「デフォルト」のプレースホルダーはありません。

その場合、次のコマンドを使用してプロパティをリセットします

 height: auto;

場合によってinheritは、@ Benが正しく指摘するので、たとえば、a要素のテキストの色をリセットするとき(そのプロパティは親要素から継承されます)は正しい方法です。

a { color: inherit }

3
+1します。「継承」値もあります。高さ以外の一部のコンテックスでは、継承がより適切です。
Ben

1
@meoあなたは正しい。(関連質問) IEでデフォルトにリセットできないプロパティがあることを意味しているようです...残念なことに
Pekka


2

固定の高さプロパティを取り除くには、デフォルト値に設定します。

height: auto;

2

あなたは高いとセレクタを提供する必要が特異で1よりMain.css。そのセレクターで、必要なプロパティの値をデフォルトに設定します。たとえば、

body .c1 {
    height: auto;
}

すべてのプロパティで機能する「デフォルト」値はありません。各プロパティのデフォルトを調べ、それを使用する必要があります。


1

「height」を「unset」または「initial」に上書きした場合でも、以前の設定を削除した場合と動作が異なるという問題がありました。

私もmin-heightプロパティを削除する必要があることがわかりました!

height: unset;
min-height: none

編集:私はIE 7でテストしましたが、「設定解除」を認識しないため、「自動」の方がうまく機能します。

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