Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

:read-only CSS-Pseudoklasse

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2020 browserübergreifend verfügbar.

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-Formularelemente), werden ebenfalls von der :read-only-Pseudoklasse ausgewählt. Tatsächlich passt :read-only auf alles, was nicht zu :read-write 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

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

Beispiele

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

Eine Verwendung von schreibgeschützten Formularsteuerelementen besteht darin, dem Benutzer zu erlauben, Informationen zu überprüfen und zu bestätigen, die er in einem früheren Formular eingegeben haben könnte (z.B. Versanddetails), während er dennoch die Informationen zusammen mit dem Rest des Formulars absenden kann. Genau das tun wir im folgenden Beispiel.

Die :read-only-Pseudoklasse wird verwendet, um das gesamte Styling zu entfernen, das die Eingaben wie anklickbare Felder aussehen lässt, und sie mehr wie schreibgeschützte Absätze aussehen zu lassen. Die :read-write-Pseudoklasse wird hingegen verwendet, um dem bearbeitbaren <textarea> ein ansprechenderes Styling zu geben.

css
input:read-only,
textarea:read-only {
  border: 0;
  box-shadow: none;
  background-color: #dddddd;
}

textarea:read-write {
  outline: 1px dashed red;
  outline-offset: 2px;
  border-radius: 5px;
}

Styling von nicht bearbeitbaren Nicht-Formularsteuerungen

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

Spezifikation
HTML
# selector-read-only
Selectors Level 4
# read-only-pseudo

Browser-Kompatibilität

Siehe auch