The :read-only CSS pseudo-class represents an element (such as a locked text input) that is not editable by the user.

/* Selects any <input> element that is read-only */
/* Supported in Firefox with a prefix */
input:-moz-read-only {
  background-color: #ccc;

/* Supported in Blink/WebKit/Edge without a prefix */
input:read-only {
  background-color: #ccc;

Note: This selector doesn't just select <input>s with readonly set on them; it will select any element that cannot be edited by the user.





<input type="text" value="Type whatever you want here.">
<input type="text" value="This is a read-only field." readonly>
<p>This is a normal paragraph.</p>
<p contenteditable="true">You can edit this paragraph!</p>


input { min-width: 25em; }
input:-moz-read-only { background: cyan; }
input:read-only { background: cyan; }

p:-moz-read-only { background: lightgray; }
p:read-only { background: lightgray; }
p[contenteditable="true"] { color: blue; }



Specification Status Comment
HTML Living Standard
The definition of ':read-only' in that specification.
Living Standard No change.
The definition of ':read-only' in that specification.
Recommendation Defines the semantics regarding HTML and constraint validation.
Selectors Level 4
The definition of ':read-only' in that specification.
Working Draft Defines the pseudo-class, but not the associated semantics.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes Yes -moz- 1 No Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? Yes Yes Yes -moz- 1 ? ? Yes

1. See bug 312971 for unprefixed status.

See also

Document Tags and Contributors

Last updated by: fscholz,