2012-08-27 11 views
6

Windows 8のListViewコントロールの.win-container要素(タイル)から白い背景を削除しようとしていました。 。私はスタイルをトレースしたとき、私は白の背景には、以下のルールを適用なっていたことを見ることができました...バックグラウンドカラーを "none"でオーバーライドできません。 "継承"のみ

.win-listview :not(.win-footprint).win-container 

だから私は...

.win-listview :not(.win-footprint).win-container { 
    background-color: none; 
} 

をこのようなことのために自分のルールを書きましたしかし、それはうまくいかなかった。

友人は私が...私が使用できることを

.win-listview :not(.win-footprint).win-container { 
    background-color: inherit; 
} 

そして、それは素晴らしい作品を見つけ出す助けました。誰が私になぜこれがなぜそうであるか教えてもらえますか?

答えて

9

noneは、background-imageプロパティの値であり、background-colorではありません。有効な値はbackground-colorではないため、宣言は無視され、システムはデフォルトの白い背景でタイルを描画し続けます。あなたはタイル透明な背景を与えたい場合は、代わりにbackground-color: transparentを使用する必要があります。

.win-listview :not(.win-footprint).win-container { 
    background-color: transparent; 
} 

(あなたはまた、background: noneを使用できますが、再びnonebackground-colorのための暗黙のtransparentbackground-imageを表します。)

background-color: inheritあなたのタイルに、それらを含むListViewと同じ背景色を使用するように指示します(またはinherit)。これは、明白な背景色を持たないという明白な効果を有してもしなくてもよい。しかし、透明な背景を持つことと同じではありません(ListView自体も透明な背景を持っていない限り、あなたの場合はおそらくそうではありません)。

+1

ありがとうございます。私は '透明な'色の値について知らなかった。 –

関連する問題