我需要在CSS中更改已禁用的输入元素的样式。
<input type="text" class="details-dialog" disabled="disabled" />
我如何为Internet Explorer执行此操作?
答案 0 :(得分:45)
您无法使用Internet Explorer。
请参阅我在相关主题上撰写的this comment:
似乎没有好办法, 看到: How to change color of disabled html controls in IE8 using css - 您可以将输入设置为
readonly
,但是还有其他输入 后果(例如readonly
,input
将被发送到服务器 在提交时,但是disabled
,它不会 be):http://jsfiddle.net/wCFBw/40
另请参阅:Changing font colour in Textboxes in IE which are disabled
答案 1 :(得分:39)
你可以:
input[type="text"][disabled] {
color: red;
}
答案 2 :(得分:19)
以下内容让您在IE8中非常接近,并且也适用于其他浏览器。
在你的HTML中:
<input type="text"
readonly="readonly" <!-- disallow editting -->
onfocus="this.blur();" <!-- prevent focus -->
tabindex="-1" <!-- disallow tabbing -->
class="disabledInput" <!-- change the color with CSS -->
/>
在你的CSS中:
.disabledInput {
color: black;
}
在IE8中,悬停时会有少量边框颜色变化。 input.disabledInput的一些CSS:hover可能会处理这个问题。
答案 3 :(得分:7)
input[disabled], input[disabled]:hover { background-color:#444; }
答案 4 :(得分:4)
将disabled
替换为readonly="readonly"
。我认为这是相同的功能。
<input type="text" class="details-dialog" readonly="readonly" style="color: ur color;">
答案 5 :(得分:2)
似乎没有人找到解决方案。我没有一个只基于css,但是通过使用这个JavaScript技巧,我通常可以处理禁用的输入字段。
请记住,禁用的字段始终遵循他们在被禁用之前获得的样式。所以诀窍就是1-启用它们2 - 更改类3-再次禁用它们。由于这种情况发生得非常快,用户无法理解发生了什么。
简单的JavaScript代码如下:
function changeDisabledClass (id, disabledClass){
var myInput=document.getElementById(id);
myInput.disabled=false; //First make sure it is not disabled
myInput.className=disabledClass; //change the class
myInput.disabled=true; //Re-disable it
}
答案 6 :(得分:1)
这是我为此问题找到的解决方案:
//如果是IE
inputElement.writeAttribute(“unselectable”,“on”);
//其他浏览器
inputElement.writeAttribute(“disabled”,“disabled”);
通过使用此技巧,您可以将样式表添加到您的输入元素,该输入元素在IE和其他浏览器中可编辑的输入框中工作。
答案 7 :(得分:1)
您可以使用以下具有不透明度的样式
input[disabled="disabled"], select[disabled="disabled"], textarea[disabled="disabled"] {
opacity: 0.85 !important;
}
或特定的CSS类
.ui-state-disabled{
opacity: 0.85 !important;
}
答案 8 :(得分:1)
这适用于使禁用的选择选项充当标题。它不会删除:disabled选项的默认文本阴影,但它会删除悬停效果。在IE中你不会得到字体颜色,但至少文字阴影消失了。这是html和css:
example.com/index.php?lunchmenu=nextmonth
答案 9 :(得分:0)
您可以改用readonly
。以下将为您解决问题。
<input type="text" class="details-dialog" style="background-color: #bbbbbb" readonly>
但是您需要注意以下几点。可以根据您的业务需求使用它。
只读元素是不可编辑的,但是当 根据表格提交。禁用的元素不可编辑且不可编辑 发送时提交。