background-color:noneは有効なCSSですか?


回答:


551

あなたはおそらく望んtransparentとしてnone有効ではありませんbackground-color値。

CSS 2.1の仕様は、のために、以下の状態background-colorプロパティを:

Value: <color> | transparent | inherit

<color>キーワードまたは色の数値表現のいずれかです。有効なcolorキーワードは次のとおりです。

アクア、ブラック、ブルー、フクシア、グレー、グリーン、ライム、マルーン、ネイビー、オリーブ、オレンジ、パープル、レッド、シルバー、ティール、ホワイト、イエロー

transparentおよびinheritそれ自体は有効なキーワードですが、そうでnoneはありません。


25
はい。以来初期値がありtransparent、それはあなたが「オフ」の背景色を変えたい場合に使用するものです。
リスター氏、2012年

1
これらはいずれも以前の値にリセットされません(つまり、別のcssルールによって設定された場合:(
pstanton

2
あなたの場合@pstanton、あなたは背景色を与える必要があります:透明!重要;
2015年

これは、最初にコーディングを始めたときにfont-colorを使用しようとしていることを思い出させます。もちろんcolor、ではありませんfont-color。他のフォントプロパティがそのfont前にあるときはいつでも非常に理にかなっています...
serraosays

@herrしかし、pstantonが言ったように、背景色を透明に設定すると、以前のcssプロパティが上書きされます。前のプロパティからCSSプロパティを取得するように、この背景色プロパティを削除する方法はありますか?
SE_User 2017年

159

いいえ、transparent代わりに使用しますnone。作業例を参照してください。ここでは、変更になる場合は、この例ではtransparentnone、それは動作しません

のように使う .class { background-color:transparent; }


ここで、.classは、透過クラスの名前です。


私の例では、それは完全に反対です。noneを透明に変更しても機能しません。私は本当に何も使用する必要はありません:jsfiddle.net/BkAad
Hrvoje Golcic 2014年

あなたの例では、body *:not(.exception){background-color:transparent}に変更します。!importantを削除する必要があります。これにより、内部の他のすべてにそのプロパティを強制することになります。また、内側のli(s)では、背景色のみの背景のプロパティよりもbackground-colorプロパティを使用します。
yveslebeau 2014

67

答えはノーだ。

不正解

.class {
    background-color: none; /* do not do this */
}

正しい

.class {
    background-color: transparent;
}

background-color: transparentあなたがしたかったのと同じことを達成しbackground-color: noneます。


7
.class {
    background-color:none;
}

これは有効なプロパティではありません。W3Cバリデーターは次のエラーを表示します:

値エラー:background-color noneはbackground-color値ではありません:none

transparentCSSの仕様の開発中に、0またはnone値ではなく、より良い用語として選択された可能性があります。


2
そして、これはジェームズが2年半前に言ったことを繰り返しますが、カットされていない貼り付け可能な形式です。; ^)
ルフィン、2015年

6

CSSレベル3はunsetプロパティ値を指定します。MDNから:

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

残念ながら、この値は現在、IE、Safari、Operaを含むすべてのブラウザーでサポートされているわけではありません。transparentとりあえず使用することをお勧めします。


3

これを書いてください:

.class {
background-color:transparent;
}

2
コードとそれが問題の解決にどのように役立つかを説明してください!- レビューから
Luca Kiebel

OK。background-colorはcss属性であり、すべてのcss属性と同じように、有効な値と無効な値があります。background-colorの有効な値は、#5f9、#56f293、または透明のいずれかの形式です。透明は、背景色をnullまたはなしにすることを意味します。
Abolfazl Miadian 2018年

1
すごい-質問(および回答)の6年後に重複して回答しますか?
NarfkX 2018年

毎日、何人かの人がこのページまたは別の古いページに回答を求めてアクセスするため、質問の時間は重要ではありません。
Abolfazl Miadian 2018年

1

そこで、このソリューションを利用しなければならないシナリオについて説明します。基本的に、別のCSSによって設定されたbackground-color属性を元に戻したかったのです。予想される最終結果は、元のCSSがbackground-color属性を適用したことがないかのように見せることです。設定background-color:transparent;はそれを有効にしました。


1
background:transparentが別のcssによって設定されている背景色を上書きするように機能していないことがわかりました。背景を選択した場合:赤; たとえば-それは動作します。しかし背景:透明; 他のCSSの背景色を残すことができます。それを止める方法はありますか?
補助ジョエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.