次のCSSが有効かどうか誰かに教えてもらえますか?
.class {
background-color:none;
}
transparent
は有効なbackground-color
値ではないため、おそらくnone
が必要です。
CSS 2.1仕様 は、background-color
プロパティについて次のように述べています。
Value: <color> | transparent | inherit
<color>
は、キーワードまたは色の数値表現のいずれかです。 有効なcolor
キーワード は次のとおりです。
アクア、ブラック、ブルー、フクシア、グレー、グリーン、ライム、マルーン、ネイビー、オリーブ、オレンジ、パープル、レッド、シルバー、ティール、ホワイト、イエロー
transparent
とinherit
はそれ自体有効なキーワードですが、none
は無効です。
答えはノーだ。
.class {
background-color: none; /* do not do this */
}
.class {
background-color: transparent;
}
background-color: transparent
は、background-color: none
を使ってやりたいことと同じことを実現します。
.class {
background-color:none;
}
これは有効なプロパティではありません。 W3Cバリデータは以下のエラーを表示します。
値エラー:background-color noneはbackground-colorの値ではありません:none
CSSの仕様の開発において、transparent
が0
またはnone
の値ではなく、より適切な用語として選択されている可能性があります。
CSSレベル3はunset
プロパティ値を指定します。 _ mdn _ から:
Unset CSSキーワードは、initialキーワードとinheritキーワードの組み合わせです。これら2つの他のCSS全体のキーワードと同様に、CSSの短縮形を含むすべてのCSSプロパティに適用できます。このキーワードは、親から継承した場合はプロパティを継承した値に、継承しなかった場合は初期値にリセットします。つまり、前者の場合はinheritキーワードのように、後者の場合は初期キーワードのように動作します。
残念ながら、この値は現在IE、Safari、Operaを含むすべてのブラウザでサポートされているわけではありません。とりあえずtransparent
を使うことをお勧めします。
これを書く:
.class {
background-color:transparent;
}
それで、私は私がこの解決策を利用しなければならなかったシナリオを説明したいです。基本的に、私は他のCSSによって設定されたbackground-color属性を元に戻したいと思いました。期待される最終結果は、元のCSSがbackground-color属性を適用したことがないように見せることでした。 background-color:transparent;
を設定すると有効になります。