Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何更改禁用的SELECT元素的字体颜色?(适用于Firefox,但不适用于IE)_Css_Internet Explorer_Disabled Control - Fatal编程技术网

Css 如何更改禁用的SELECT元素的字体颜色?(适用于Firefox,但不适用于IE)

Css 如何更改禁用的SELECT元素的字体颜色?(适用于Firefox,但不适用于IE),css,internet-explorer,disabled-control,Css,Internet Explorer,Disabled Control,如何更改IE中禁用的SELECT元素的字体颜色?不管我怎么做,它都是灰色的。我可以将背景从灰色更改为白色,但禁用的SELECT中的文本保持不变。对于Firefox来说,在IE(在本例中为IE8)中完美工作的字体颜色没有任何影响。您可以在此处查看两种浏览器的最新情况: 我使用jQuery禁用select元素: $(selectObject).attr('disabled', 'disabled'); 下面是我用于禁用选择的CSS类: select[disabled] { color:

如何更改IE中禁用的SELECT元素的字体颜色?不管我怎么做,它都是灰色的。我可以将背景从灰色更改为白色,但禁用的SELECT中的文本保持不变。对于Firefox来说,在IE(在本例中为IE8)中完美工作的字体颜色没有任何影响。您可以在此处查看两种浏览器的最新情况:

我使用jQuery禁用select元素:

$(selectObject).attr('disabled', 'disabled');
下面是我用于禁用选择的CSS类:

select[disabled] {
    color: black;
    background-color: white;
    border-style: solid;
}

我觉得很奇怪,我可以很容易地更改禁用选择的默认背景颜色,但不能更改默认字体颜色。有什么建议或想法吗?(或者在IE中使用CSS完全不可能做到这一点?

在当前的IE中可能不可能做到这一点。未来的浏览器可能会支持:禁用的伪类(请参见)

编辑:您必须为大多数浏览器提供支持,并且只有50%的浏览器支持这种类型的伪类,因此,如果我是您,我会这样做:

$(selectObject)
    .attr('disabled', 'disabled')
    .css({
        "color":"black",
        "background-color":"white",
        "border-style":"solid"
    });
希望它能起作用;)

应用:

    background-image: url('');

根据Emre使用的css,IE7及以上版本支持它。

需要注意的是,IE7/8只有在正确定义DOCTYPE的情况下才能使用属性选择器。所以没有怪癖模式。至少在我的例子中,问题不在于选择器:我在禁用上使用手动指定的类,并且文本颜色、文本本身或包含上的颜色都没有任何效果。选项的文本为灰色。period.IE11确实支持
:disabled
伪类,但是
color
被忽略。也可以使用jquery来更改它,请参阅我的回答如果直接将select设置为disabled,它会起作用吗?你需要弄清楚你的css或JavaScript是否让你失望。Richard,你说的“将选择设置为直接禁用”是什么意思?该死,我试过了。不起作用(对于文本的颜色)。看看我对你答案的评论,我做到了。我已经删除了相关的CSS,并像上面的jQuery代码一样运行它。真正奇怪的是,当我查看页面时,select的背景仍然是白色,其中的文本仍然是灰色的,但我使用Internet Explorer开发人员工具查看该select元素的样式细节,当我单击它时,IE开发人员工具的CSS窗格告诉我:颜色:黑色,背景颜色:白色。我真的很困惑!我为“颜色”和“背景色”使用了不同的颜色名称,背景色总是变化的,文本的颜色总是保持不变:灰色(奇怪,你有另一个js行控制字体和背景颜色吗?卡斯,没有,据我所知。这是操作SELECT元素时运行的函数的完整代码:正如你所看到的,我还尝试交换.attr和.css的顺序,这两种情况都没有变化。问题是“如何更改字体颜色”,不是背景。还是我遗漏了什么?