HTML 属性:readonly
布尔型readonly
属性,如果存在,则使元素不可变,这意味着用户无法编辑控件。
试一试
概述
如果在输入元素上指定了readonly
属性,因为用户无法编辑输入,所以该元素不参与约束验证。
readonly
属性受 text
、search
、url
、tel
、email
、password
、date
、month
、week
、time
、datetime-local
和 number
<input>
类型以及 <textarea>
表单控件元素的支持。如果在任何这些输入类型和元素上存在该属性,则 :read-only
伪类将匹配。如果未包含该属性,则 :read-write
伪类将匹配。
该属性不受 <select>
或本身不可变的输入类型(例如 checkbox
和 radio
)或根据定义无法以值开始的输入类型(例如 file
输入类型)的支持或与之相关。range
和 color
也是如此,因为两者都有默认值。它也不受 hidden
的支持,因为不能期望用户填写隐藏的表单。它也不受任何按钮类型(包括 image
)的支持。
注意:只有文本控件才能设为只读,因为对于其他控件(例如复选框和按钮),只读和禁用之间没有有用的区别,因此 readonly
属性不适用。
当输入具有 readonly
属性时,:read-only
伪类也应用于它。相反,支持 readonly
属性但未设置该属性的输入与 :read-write
伪类匹配。
属性交互
可用性
浏览器显示 readonly
属性。
约束验证
如果元素为只读,则用户无法更新元素的值,并且不参与约束验证。
示例
HTML
html
<div class="group">
<input type="text" value="Some value" readonly="readonly" id="text" />
<label for="text">Text box</label>
</div>
<div class="group">
<input type="date" value="2020-01-01" readonly="readonly" id="date" />
<label for="date">Date</label>
</div>
<div class="group">
<input type="email" value="Some value" readonly="readonly" id="email" />
<label for="email">Email</label>
</div>
<div class="group">
<input type="password" value="Some value" readonly="readonly" id="pwd" />
<label for="pwd">Password</label>
</div>
<div class="group">
<textarea readonly="readonly" id="ta">Some value</textarea>
<label for="ta">Message</label>
</div>
结果
规范
规范 |
---|
HTML 标准 # attr-input-readonly |
HTML 标准 # attr-textarea-readonly |
浏览器兼容性
html.elements.input.readonly
BCD 表格仅在浏览器中加载
html.elements.textarea.readonly
BCD 表格仅在浏览器中加载