首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用CSS设置只读属性的样式?

如何使用CSS设置只读属性的样式?
EN

Stack Overflow用户
提问于 2012-03-09 22:03:29
回答 6查看 297.8K关注 0票数 155

我目前正在使用readonly=“只读”来禁用字段。我现在正在尝试使用CSS设置属性的样式。我试过用

代码语言:javascript
复制
input[readonly] {
  /* styling info here */
}

但由于某些原因,它不起作用。我也试过

代码语言:javascript
复制
input[readonly='readonly'] {
  /* styling info here */
}

这也不起作用。

如何使用CSS设置readonly属性的样式?

EN

回答 6

Stack Overflow用户

发布于 2012-03-09 22:20:15

代码语言:javascript
复制
input[readonly]
{
    background-color:blue;
}

https://curtistimson.co.uk/post/css/style-readonly-attribute-css/

票数 208
EN

Stack Overflow用户

发布于 2015-02-11 18:49:07

这里有很多答案,但我还没有看到我使用的答案:

代码语言:javascript
复制
input[type="text"]:read-only { color: blue; }

注意伪选择器中的破折号。如果输入是readonly="false",它也会捕获它,因为无论值是什么,这个选择器都会捕获只读的存在。从技术上讲,根据规范,false是无效的,但互联网并不是一个完美的世界。如果你需要介绍这种情况,你可以这样做:

代码语言:javascript
复制
input[type="text"]:read-only:not([read-only="false"]) { color: blue; }

textarea的工作方式与此相同:

代码语言:javascript
复制
textarea:read-only:not([read-only="false"]) { color: blue; }

请记住,html现在不仅支持type="text",还支持许多其他文本类型,如numbertelemaildatetimeurl等,每个文本类型都需要添加到选择器中。

票数 22
EN

Stack Overflow用户

发布于 2017-03-18 02:10:22

有几种方法可以做到这一点。

第一种是使用最广泛的。它可以在所有主流浏览器上运行。

代码语言:javascript
复制
input[readonly] {
 background-color: #dddddd;
}

虽然上面的一个将选择所有附加了readonly的输入,但下面的这个将只选择您想要的。确保将demo替换为您想要的任何输入类型。

代码语言:javascript
复制
input[type="demo"]:read-only {
 background-color: #dddddd;
}

这是第一种方法的替代方法,但并不是很常用:

代码语言:javascript
复制
input:read-only {
 background-color: #dddddd;
}

:read-only选择器在Chrome、Opera和Safari中都受支持。火狐使用:-moz-read-only。IE不支持:read-only选择器。

您也可以使用input[readonly="readonly"],但根据我的经验,这与input[readonly]非常相似。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9635293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档