3

http://jsfiddle.net/NUDDv/

HTML:

<div class="red">
    <input type="text" value="text" disabled="disabled">
    <select disabled>
        <option>aaa</option>
        <option>aaa</option>
    </select>
</div>
<div>
    <input type="text" value="text" disabled="disabled">
    <select disabled>
        <option>aaa</option>
        <option>aaa</option>
    </select>
</div>

CSS:

div.red input[type=text],
div.red select{
    color: red;
}
div.red input[type=text][disabled],
div.red select[disabled]{
    color: none;
}

我可以写什么到 css disabled 输入以去除红色?我不能设置颜色,因为禁用的输入看起来不太好。我只想在 CSS 中设置它。

4

5 回答 5

2

没有什么叫color:none;

div.red input[type=text][disabled],
div.red select[disabled]{
    color: black;
}

要恢复默认颜色,请使用:

color:GrayText;

CSS 系统颜色关键字 -链接

CSS 系统颜色关键字是一种使用 CSS 设置文档样式的方法,以便它们集成到客户正在使用的环境中。您无需准确指定颜色,而是告诉用户代理使用系统上定义的颜色。

于 2013-02-17T09:19:36.463 回答
1

color: none不是有效的颜色。使用 hex、rgb 或任何 css 有效颜色。如果您希望文本不可见,请使用color: transparent;.

为了让颜色回落到元素的原始颜色或禁用状态,您可以使用color: initial;. 见这里

于 2013-02-17T09:16:59.727 回答
1

我不相信,跨浏览器,一旦在 CSS 中指定了文本颜色,就只使用 CSS 将文本颜色重置为其初始状态。red禁用输入时,您必须删除该类。

否则,您可以强制一个特定colorbackground-color处于禁用状态的浏览器进行某种程度的奇偶校验。

input[type=text][disabled],
select[disabled] {
    color: #545454 !important;
    background-color: #EBEBE4 !important;
}

但是请注意,还有许多其他与表单元素相关的默认样式。您不能期望事情在任何地方看起来都完全相同。

jsfiddle

于 2013-02-17T09:36:20.110 回答
1

保持简单。使用:not()伪类。

演示

div.red input[type=text]:not([disabled]),
div.red select:not([disabled]){
    color: red;
}
于 2013-02-17T11:40:42.700 回答
0

在您的 jsfiddle 第三个 javascript 行中:

$('input[type=text], select').attr('disabled', 'disabled').css('color', 'grey');
于 2013-02-17T09:19:25.093 回答