: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 (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-Formular-Elemente), werden ebenfalls von der :read-only Pseudoklasse ausgewählt. Tatsächlich passt :read-only auf alles, was nicht mit :read-write übereinstimmt, 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

css
:read-only {
  /* ... */
}

Beispiele

Bestätigung von Formularinformationen mit schreibgeschützten oder beschreibbaren Steuerelementen

Ein Anwendungsfall für schreibgeschützte Formularsteuerelemente ist es, dem Benutzer zu ermöglichen, Informationen zu überprüfen und zu bestätigen, die er möglicherweise in einem vorherigen Formular eingegeben hat (z.B. Lieferdaten), während er die Informationen zusammen mit dem Rest des Formulars übermitteln kann. Genau dies tun wir im folgenden Beispiel.

Die :read-only Pseudoklasse wird verwendet, um alle Formatierungen zu entfernen, die die Eingabefelder wie klickbare Felder aussehen lassen, damit sie mehr wie schreibgeschützte Absätze wirken. Die :read-write Pseudoklasse hingegen wird verwendet, um dem bearbeitbaren <textarea> eine schönere Formatierung zu geben.

css
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;
}

Formatierung schreibgeschützter Nicht-Formular-Steuerelemente

Dieser Selektor wählt nicht nur <input>/<textarea>-Elemente aus — er wählt jedes Element aus, das vom Benutzer nicht bearbeitet werden kann.

html
<p contenteditable>This paragraph is editable; it is read-write.</p>

<p>This paragraph is not editable; it is read-only.</p>
css
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

BCD tables only load in the browser

Siehe auch