如何用css来改变禁用HTML控件的颜色在IE8(How to change color of di

2019-07-17 17:54发布

我试图改变输入控件的颜色,当他们使用下面的CSS禁用。

input[disabled='disabled']{
  color: #666;     
}

这在大多数的浏览器,而不是IE浏览器。 我能够改变任何其他的样式属性,如背景颜色,边框颜色等......只是没有颜色的。 任何人都可以解释一下吗?

Answer 1:

不幸的是,如果你使用禁用的属性,不管你是什么IE浏览器将只默认文本灰色的颜色,一个奇怪的白色的影子......东西......但所有其他样式仍然可以工作。 : - /



Answer 2:

我有同样的问题, <select>IE10的元素,发现只有选择元素有效的解决方案:

http://jsbin.com/ujapog/7/

有一个微软伪元素,使文本颜色进行修改:

select[disabled='disabled']::-ms-value {
    color: #000;
}

规则必须在它自己的,否则其他浏览器会忽略由于语法错误的整个规则。 见http://msdn.microsoft.com/en-us/library/ie/hh869604(v=vs.85).aspx其他Internet Explorer的仅仅是伪元素。

编辑:我认为规则也许应该是select[disabled]::-ms-value ,但我没有旧的版本的IE浏览器在我的面前来试试吧-重新编辑本段或添加评论,如果这是一个进步。



Answer 3:

有没有办法来覆盖禁用=“禁用”属性的风格。 这是我的工作,围绕解决这个问题,请注意,我只选择在我的案件提交按钮:

if ($.browser.msie) {
    $("input[type='submit'][disabled='disabled']").each(function() {
        $(this).removeAttr("disabled");
        $(this).attr("onclick", "javascript:return false;");
    });
}

例如可供选择: http://jsfiddle.net/0dr3jyLp/



Answer 4:

我有textarea的“已禁用”更改字体颜色相同的问题为灰色。 我用“只读”属性,而不是“已禁用”属性的textarea下面的CSS做了一个解决方法

textarea[readonly] {
border:none; //for optional look
background-color:#000000; //Desired Background color        
color:#ffffff;// Desired text color
}

它的工作对我来说就像一个魅力!,所以我建议任何其他解决方案之前,先试试这个,因为它是易于更换“已禁用”与“只读”不改变代码的任何其他部分。



Answer 5:

我知道这是一直以来的创作这个话题的一段时间,但我创造了这个解决办法,嗯...这为我工作! (使用IE 9)

唯一的后果是,你不能选择的输入值。

使用Javascript:

    if (input.addEventListener)
            input.addEventListener('focus', function(){input.blur()}, true)
    if (input.attachEvent)
            input.attachEvent("onfocus", function(){input.blur()})


Answer 6:

我只是做了整个背景为浅灰色,我觉得它更容易/迅速传达的,该框被禁用。

input[disabled]{
  background: #D4D4D4;     
}


Answer 7:

顺便我解决了W / O的丑陋的灰色与类型=复选框的输入控制是离开它启用,并在onclick事件以防止更改使用一些JavaScript“禁用”,在IE控件的问题:

onclick='this.checked == true ? this.checked = false : this.checked = true;'


Answer 8:

正如韦恩提到,三年后仍然没有运气瓦特/ IE9,但是...

你可以尝试降低opacity使用CSS,这使得它更具可读性和与整个禁用状态帮助。



Answer 9:

这是我找到了这个问题的解决方案:

//如果IE

inputElement.writeAttribute( “不可选择”, “上”);

//其它浏览器

inputElement.writeAttribute( “禁用”, “无效”);

通过使用这一招,你可以样式表添加到在IE和其他浏览器上你不能编辑输入框的作品你输入元素。



Answer 10:

我混user1733926的和哈米德的解决方案,我发现了IE8有效编码,将是很好的知道,如果它在IE 9/10以及(?)。

<script type="text/javascript">
if ($.browser.msie) {
    $("*[disabled='disabled']").each(function() {
        $(this).removeAttr("disabled");
        $(this).attr("unselectable", "on");
    });
}
</script>


Answer 11:

阅读这篇文章后,我决定创建一个作用类似于禁用输入框中输入一但“只读”。

所以我做了它,所以它是不能够被选择或标签,或者有​​给用户他们可以改变或选择价值理念鼠标光标。

测试了IE8 / 9,Mozzila 18,浏览器29

<input name="UserName" class="accountInputDisabled" id="UserName" type="text" readOnly="readonly" value="" unselectable="on" tabindex="-1" onselectstart="return false;" ondragstart="return false;" onmousedown='return false;'/>


input.accountInputDisabled {
    border: 1px solid #BABABA !important;
    background-color: #E5E5E5 !important;    
    color: #000000;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -moz-user-input: disabled;
    -ms-user-select: none;
    cursor:not-allowed;
}

input:focus {
    outline: none;
}          


Answer 12:

无需overrride基于CSS的使用方法类与事件发挥完美的作品

你可以做一两件事:

<button class="disabled" onmousedown="return checkDisable();">

function checkDisable() {
 if ($(this).hasClass('disabled')) { return false; }
 }

http://navneetnagpal.wordpress.com/2013/09/26/ie-button-text-shadow-issue-in-case-of-disabled/



Answer 13:

删除禁用的属性和使用只读属性。 需要写CSS实现所需的结果。 这个工程在IE8和IE9。

为例如,用于暗灰色,

 input[readonly]{
   color: #333333;     
 }


Answer 14:

请检查该CSS代码。

input[type='button']:disabled, button:disabled
 {
    color:#933;
    text-decoration:underline;
}

或查看URL。 http://jsfiddle.net/kheema/uK8cL/13/



Answer 15:

该问题在IE11解决。 如果问题在IE11仍然存在,检查IE浏览器使用的渲染引擎。



Answer 16:

我碰到这段代码就在计算器这让我使用JavaScript起飞禁用CSS类。

$("#textboxtest").prop("disabled", false).removeClass("k-state-disabled");

原来的线程可以在这里找到剑道UI -应用K-国家禁用类的文本输入想我应该分享!



Answer 17:

使用这个CSS,适用于IE11:

input[disabled="disabled"], select[disabled="disabled"], textarea[disabled="disabled"] {
    opacity:0.99 !important;
    background:black;
    text-shadow:inherit;
    background-color:white;
    color:black
}


文章来源: How to change color of disabled html controls in IE8 using css