我试图从Windows 8 ListView控件中的.win-container元素(tile)中删除白色背景,让背景显示出来。当我跟踪样式时,我可以看到白色背景正在应用以下规则...
.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;
}
这很有效。任何人都可以告诉我为什么这个世界是这样的?
答案 0 :(得分:9)
none
是background-image
属性的值,而不是background-color
。由于它不是background-color
的有效值,因此将忽略该声明,系统将继续使用默认的白色背景绘制切片。如果您想为瓷砖提供透明背景,则需要使用background-color: transparent
代替:
.win-listview :not(.win-footprint).win-container {
background-color: transparent;
}
(您也可以使用background: none
,但none
代表background-image
代表transparent
隐含background-color
。)
background-color: inherit
只是告诉您的图块采用(或inherit)与包含它们的ListView
相同的背景颜色。这可能会或可能不具有没有明显背景颜色的明显效果。然而,它与具有透明背景不同(除非ListView
本身也具有透明背景,在您的情况下它可能不具有透明背景。)