:read-only
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2020.
Die :read-only
CSS Pseudoklasse wählt Elemente aus (wie bestimmte <input>
-Typen und <textarea>
), die vom Benutzer nicht bearbeitbar sind. Elemente, bei denen das HTML-Attribut readonly
keine Wirkung hat (wie <input type="radio">
, <input type="checkbox">
und alle anderen Nicht-Formularelemente), werden ebenfalls durch die Pseudoklasse :read-only
ausgewählt. Tatsächlich stimmt :read-only
mit allem überein, was :read-write
nicht entspricht, wodurch es gleichbedeutend mit :not(:read-write)
ist.
Probieren Sie es aus
label,
input[type="submit"] {
display: block;
margin-top: 1em;
}
*:read-only {
font-weight: bold;
color: indigo;
}
<p>Please fill your details:</p>
<form>
<label for="email">Email Address:</label>
<input id="email" name="email" type="email" value="test@example.com" />
<label for="note">Short note about yourself:</label>
<textarea id="note" name="note">Don't be shy</textarea>
<label for="pic">Your picture:</label>
<input id="pic" name="pic" type="file" />
<input type="submit" value="Submit form" />
</form>
Syntax
:read-only {
/* ... */
}
Beispiele
Bestätigung von Formularinformationen mit schreibgeschützten oder beschreibbaren Steuerelementen
Eine Verwendung von schreibgeschützten Formularsteuerelementen besteht darin, dem Benutzer zu ermöglichen, Informationen, die er möglicherweise in einem früheren Formular eingegeben hat (z. B. Versanddetails), zu überprüfen und zu bestätigen, während er dennoch in der Lage ist, die Informationen zusammen mit dem Rest des Formulars einzureichen. Dies tun wir im folgenden Beispiel.
Die Pseudoklasse :read-only
wird verwendet, um das gesamte Styling zu entfernen, das die Eingabefelder wie anklickbare Felder aussehen lässt, sodass sie mehr wie schreibgeschützte Absätze wirken. Die Pseudoklasse :read-write
hingegen wird verwendet, um dem bearbeitbaren <textarea>
ein ansprechenderes Styling zu verleihen.
input:read-only,
textarea:read-only {
border: 0;
box-shadow: none;
background-color: #ddd;
}
textarea:read-write {
outline: 1px dashed red;
outline-offset: 2px;
border-radius: 5px;
}
Styling von schreibgeschützten Nicht-Formularsteuerelementen
Dieser Selektor wählt nicht nur <input>
/<textarea>
-Elemente aus — er wählt jedes Element aus, das vom Benutzer nicht bearbeitet werden kann.
<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;
}
Spezifikationen
Specification |
---|
HTML # selector-read-only |
Selectors Level 4 # read-only-pseudo |
Browser-Kompatibilität
Siehe auch
:read-write
- HTML-Attribut
contenteditable