Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

: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 ⁨juillet 2020⁩.

La pseudo-classe CSS :read-only permet de cibler les éléments (tels que certains types de <input> et <textarea>) qui ne sont pas modifiables par l'utilisateur·ice. Les éléments sur lesquels l'attribut HTML readonly n'a pas d'effet (tels que <input type="radio">, <input type="checkbox"> et tous les autres éléments non liés à un formulaire) sont également sélectionnés par la pseudo-classe :read-only. En fait, :read-only correspond à tout ce qui ne correspond pas à :read-write, ce qui le rend équivalent à :not(:read-write).

Exemple interactif

label,
input[type="submit"] {
  display: block;
  margin-top: 1em;
}

*:read-only {
  font-weight: bold;
  color: indigo;
}
<p>Veuillez remplir vos coordonnées&nbsp;:</p>

<form>
  <label for="email">Adresse e-mail&nbsp;:</label>
  <input id="email" name="email" type="email" value="test@example.com" />

  <label for="note">Courte note à propos de vous&nbsp;:</label>
  <textarea id="note" name="note">N'ayez pas peur</textarea>

  <label for="pic">Votre photo&nbsp;:</label>
  <input id="pic" name="pic" type="file" />

  <input type="submit" value="Soumettre le formulaire" />
</form>

Syntaxe

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

Exemples

Confirmation des informations du formulaire à l'aide de contrôles en lecture seule ou en lecture-écriture

Une utilisation des contrôles de formulaire en lecture seule est de permettre à l'utilisateur·ice de vérifier les informations qu'il a pu saisir dans un formulaire précédent (par exemple, les détails d'expédition), tout en étant en mesure de soumettre les informations avec le reste du formulaire. C'est exactement ce que nous faisons dans l'exemple ci-dessous.

La pseudo-classe :read-only est utilisée pour supprimer tout le style qui fait que les champs de saisie ressemblent à des champs cliquables, les faisant ressembler davantage à des paragraphes en lecture seule. La pseudo-classe :read-write, en revanche, est utilisée pour fournir un style plus agréable à la <textarea> modifiable.

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

Mise en forme des contrôles non-formulaires en lecture seule

HTML

html
<p contenteditable>
  Ce paragraphe est modifiable&nbsp;; il est en lecture-écriture.
</p>

<p>Ce paragraphe n'est pas modifiable&nbsp;; il est en lecture seule.</p>

CSS

css
p {
  font-size: 150%;
  padding: 5px;
  border-radius: 5px;
}

p:read-only {
  background-color: red;
  color: white;
}

p:read-write {
  background-color: lime;
}

Résultat

Spécifications

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

Compatibilité des navigateurs

Voir aussi