2012-08-27 89 views
6

我試圖從Windows 8 ListView控件中的.win-容器元素(圖塊)中移除白色背景以讓背景顯示。當我追蹤的風格,我能看到的是白色背景是越來越有以下規則適用...無法用「無」覆蓋背景顏色,只能用「繼承」

.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

nonebackground-image屬性的值,而不是background-color。由於它不是background-color的有效值,因此該聲明將被忽略,系統將繼續使用默認白色背景繪製您的圖塊。如果你想給你的瓷磚透明背景,你需要使用background-color: transparent代替:

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

(您也可以使用background: none,但同樣none代表background-image有一個隱含的transparentbackground-color

background-color: inherit只是告訴你的瓷磚採用與ListView相同的背景顏色(或inherit)。這可能會或可能不會有明顯的背景顏色沒有明顯的影響。然而,它與具有透明背景不同(除非ListView本身也具有透明背景,在您的情況下它可能不會)。

+1

非常感謝。我不知道「透明」的顏色值。 –