: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 bearbeitet werden können. Elemente, bei denen das HTML-Attribut readonly
keine Wirkung hat (wie <input type="radio">
, <input type="checkbox">
und alle anderen Nicht-Formularelemente), werden ebenfalls von der :read-only
Pseudoklasse ausgewählt. Tatsächlich passt :read-only
auf alles, auf das :read-write
nicht passt, was es äquivalent zu :not(:read-write)
macht.
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ätigen von Formularinformationen mit read-only oder read-write Steuerelementen
Ein Anwendungsfall von schreibgeschützten Formularsteuerelementen ist es, dem Benutzer zu erlauben, Informationen zu prüfen und zu verifizieren, die er möglicherweise in einem früheren Formular eingegeben hat (zum Beispiel Versanddetails), während er trotzdem in der Lage ist, die Informationen zusammen mit dem Rest des Formulars zu übermitteln. Genau dies wird im folgenden Beispiel durchgeführt.
Die :read-only
Pseudoklasse wird verwendet, um das gesamte Styling zu entfernen, das die Eingabefelder wie anklickbare Felder aussehen lässt, wodurch sie eher wie schreibgeschützte Absätze erscheinen. Die :read-write
Pseudoklasse hingegen wird verwendet, um dem editierbaren <textarea>
ein schöneres Styling zu geben.
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-Formular-Steuerelementen
Dieser Selektor wählt nicht nur <input>
/<textarea>
-Elemente aus — er wird jedes Element auswählen, 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
contenteditable
Attribut