IE9 CSS通用选择器优先于直接选择器,具有重要的

IE9 CSS通用选择器优先于直接选择器,具有重要的,css,internet-explorer,internet-explorer-9,Css,Internet Explorer,Internet Explorer 9,因此,我的CSS文件中有一个通用选择器,可以更改一些内容,如字体系列和颜色,因为这些规则可以应用于任何东西,只有一两个例外: * { font-family: "Roboto", Sans, Arial, serif; color: white; outline:none; } 其中一种情况是选择框,它在IE中是可配置的 白色文本颜色与选择框的自然白色背景冲突,因此我在通用选择器之后添加了以下规则: div#cart div.donate p select {

因此,我的CSS文件中有一个通用选择器,可以更改一些内容,如字体系列和颜色,因为这些规则可以应用于任何东西,只有一两个例外:

*
{
    font-family: "Roboto", Sans, Arial, serif;
    color: white;

    outline:none;
}
其中一种情况是选择框,它在IE中是可配置的

白色文本颜色与选择框的自然白色背景冲突,因此我在通用选择器之后添加了以下规则:

div#cart div.donate p select
{
    color: black !important;
}
但是IE9仍然使用通用规则而不是目标规则。为什么?


这里有一个例子来说明问题。

不是通用规则具有更高的特异性,而是select不会在IE9中设置文本颜色的样式


在您的JSFIDLE中,礼品选择选项将在IE9中设置该文本的样式,因为IE9依赖选项而不是选择来设置颜色样式。

为什么要使用通用选择器?使用类似body{color:white}的东西,让级联处理其余部分。!重要的是陷阱。我们其余的人都使用CSS,桑德斯的观点很好。“我没有想到这一点。”我只是在那里使用了“重要”,因为“普通颜色:黑色”规则不起作用。我通常从不使用它。@sdsanders,真管用!谢谢