The :read-only
CSS pseudo-class represents an element (such as input
or textarea
) that is not editable by the user.
input:read-only, textarea:read-only {
background-color: #ccc;
}
p:read-only {
background-color: #ccc;
}
Syntax
:read-only
Examples
Confirming form information in read-only/read-write controls
One use of readonly
form controls is to allow the user to check and verify information that they may have entered in an earlier form (for example, shipping details), while still being able to submit the information along with the rest of the form. We do just this in the example below.
The :read-only
pseudo-class is used to remove all the styling that makes the inputs look like clickable fields, making them look more like read-only paragraphs.The :read-write
pseudo-class on the other hand is used to provide some nicer styling to the editable <textarea>
.
input:-moz-read-only, textarea:-moz-read-only,
input:read-only, textarea:read-only {
border: 0;
box-shadow: none;
background-color: white;
}
textarea:-moz-read-write,
textarea:read-write {
box-shadow: inset 1px 1px 3px #ccc;
border-radius: 5px;
}
You can find the full source code at readonly-confirmation.html; this renders like so:
Styling read-only non-form controls
This selector doesn't just select <input>
/<textarea>
elements — it will select any element that cannot be edited by the user.
<p contenteditable>This paragraph is editable; it is read-write.</p>
<p>This paragraph is not editable; it is read-only.</p>
p {
font-size: 150%;
padding: 5px;
border-radius: 5px;
}
p:read-only {
background-color: red;
color: white;
}
p:read-write {
background-color: lime;
}
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living StandardThe definition of ':read-only' in that specification. | Living Standard | No change. |
HTML5The definition of ':read-only' in that specification. | Recommendation | Defines the semantics regarding HTML and constraint validation. |
Selectors Level 4The definition of ':read-only' in that specification. | Working Draft | Defines the pseudo-class, but not the associated semantics. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
:read-only
|
Chrome
Full support 1 |
Edge
Full support 13 |
Firefox Full support 78 Full support 78 Full support 1.5 Prefixed' Implemented with the vendor prefix: -moz- |
IE
No support No |
Opera
Full support 9 |
Safari
Full support 4 |
WebView Android
Full support ≤37 |
Chrome Android
Full support 18 |
Firefox Android Full support 4 Full support 4 Prefixed' Implemented with the vendor prefix: -moz- |
Opera Android
Full support 10.1 |
Safari iOS
Full support 3.2 |
Samsung Internet Android
Full support 1.0 |
Legend
- Full support
- Full support
- No support
- No support
- Requires a vendor prefix or different name for use.'
- Requires a vendor prefix or different name for use.
See also
:read-write
- HTML
contenteditable
attribute
:read-only by Mozilla Contributors is licensed under CC-BY-SA 2.5.