如何在CSS中更改只读文本框的背景颜色

3
如何在CSS中更改只读文本框的背景颜色

“readonly textbox” 是什么意思? - Emmett
如果您想得到一个恰当的答案,您应该发布一个恰当的问题。您当前的代码是什么?是什么触发了这个变化?您是否使用任何JS库(例如jQuery)? - Valentin Flachsel
5个回答

7

你的问题中有太多未知因素。你需要支持哪个浏览器?如果你说文本框,那么你似乎在使用ASP.NET,但是在你的问题中没有相关标签。

一般来说,不同的浏览器之间的行为是不同的。

考虑以下HTML代码:

<html>
      <head>
      </head>
      <body>
             <input type="text" disabled="disabled" value="This is a test" style="background-color:Black; color:Lime;" />
      </body>
</html>

IE8可以正确地渲染背景颜色,但是禁用的控件始终会带有灰色文本和阴影。此外,Mozilla Firefox可以正确地渲染控件,我相信在不同的浏览器甚至浏览器版本之间也会有差异(IE6也会正确解释颜色值)。

如果您想要一个无论使用哪种浏览器都能正常显示的HTML,您必须使用span或其他内联元素来格式化它,以获得所需的边框和颜色,而不是使用input元素。


1
谢谢回复。我能否将其用作外部CSS的方式? - reign

2
您可以使用:
input[disabled="disabled"] { background:url("url-to-background-image.jpg") no-repeat #fff; }

对于不支持此选择器的旧浏览器,您可以使用jQuery应用类

$(document).ready(function() {
    $("input[disabled="disabled"]").addClass('disabled');
});

除非它一直被禁用,否则您应该提供用于移除类的js以及用于启用它的js。

是的,只需将 jQuery 的 CSS 选择器更改为:$("input[readonly="readonly"]")。 - gdoron

0

你好,这肯定适用于你的代码。只需尝试一下即可。

<html>
  <head>
  </head>
  <body>
         <input type="text" disabled="disabled" value="JavaScript is the best" style="background-color:Black; color:green;" />
  </body>

嗨,这是被接受回答的代码,不带其他解释。请尽量避免重复回答,优先投票支持他人的回答。 - Elikill58
哦,对不起,顺便说一下,我没有复制任何东西。我自己编写了全部代码,但由于我仍然没有15个声望,所以我也无法点赞。 - Eklavya Jain
哦,是15而不是5。很抱歉,但它似乎与已接受的答案非常相似。 - Elikill58

0

你可以试试这个

input:-moz-read-only { /* For Firefox */
    background-color: yellow;
}

input:read-only {
    background-color: yellow;
}

-2

你可以使用以下代码在CSS中更改背景颜色,但在此之前,请确保你的HTML页面已经与CSS页面链接。

Body {
      Background-color: red;

     }

希望这段代码对你有用。

2
请注意问题标题为“如何在CSS中更改只读文本框的背景颜色”。 - help-info.de

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接