:read-only | CSS属性参考

CSS :read-only伪类选择器用于匹配任何不可以被用户编辑的元素。

可以被用户编辑的元素包括:

  • 任何不带read-only属性,并且不是disabled类型的<input>元素。
  • 任何不带read-only属性,并且不是disabled类型的<textarea>元素。
  • 除了<input>元素和<textarea>元素之外,带contenteditable属性的任何其它元素。

:read-only伪类选择器可以匹配除上面列出的任何其它元素。

例如,下面的元素可以被:read-only伪类选择器选择:

<input type="text" disabled>

<input type="number" disabled>

<input type="number" readonly>

<textarea name="nm" id="id" cols="30" rows="10" readonly> </textarea>

<!-- 不带 contenteditable 属性的普通元素 -->
<div class="random"> </div> 

下面的元素不能被:read-only伪类选择器选择,它们可以被:read-write伪类选择器匹配。

<input type="text">

<input type="number">

<textarea name="nm" id="id" cols="30" rows="10"> </textarea>

<div class="random" contenteditable> </div>
示例代码

下面都是有效的:read-only规则。

.element:read-only:after {
    content: "Subscribe!";
    /* ... */
}

input:read-only {
    background-color: #aaa;
    border: 1px solid #888;
}

textarea:read-only:hover {
    cursor: not-allowed;
}
在线演示

在下面的例子中,如果你的浏览器支持:read-write伪类选择器,那么可编辑的元素的边框会显示为绿色。如果你的浏览器支持:read-only伪类选择器,那么可编辑的元素的边框会显示为橙色。

下面的input都是可编辑的,它们会被:read-write选择器匹配,边框变为绿色。

下面的input元素是disabled状态,不会被:read-write选择器匹配。

下面的input元素设置了read-only属性,是只读状态,它们会被:read-only选择器匹配。

下面的div元素带有contenteditable属性,它们会被:read-write选择器匹配。

Content Editable div

下面的div元素不带有contenteditable属性,它们会被:read-only选择器匹配。

Regular div

浏览器支持

目前只有Chrome, Safari 和 Opera 14+ 以及 iOS支持:read-only伪类选择器。

Firefox浏览器需要添加-moz-前缀。

IE和Android不支持:read-only伪类选择器。

相关阅读
© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享