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-write

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2020.

La pseudo-classe CSS :read-write représente un élément (tel que input ou textarea) qui peut être modifié par l'utilisateur·ice.

Exemple interactif

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

*:read-write {
  background-color: ivory;
  border: 2px solid darkorange;
  border-radius: 5px;
}
<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-write {
  /* ... */
}

Exemples

Confirmation des détails du formulaire à l'aide de contrôles en lecture seule

Vous pouvez utiliser le contrôle de formulaire readonly lorsque vous souhaitez qu'un·e utilisateur·ice vérifie les informations qu'il a saisies précédemment, que vous souhaitez soumettre avec de nouvelles données dans des contrôles en lecture-écriture. Dans l'exemple ci-dessous, la pseudo-classe :read-only est utilisée pour faire en sorte que le <textarea> (l'adresse d'un utilisateur) ressemble à un paragraphe ordinaire. La pseudo-classe :read-write fournit un moyen de mettre en évidence le <textarea> modifiable (les instructions de livraison) :

css
textarea:read-only {
  border: 0;
}

textarea:read-write {
  box-shadow: inset 1px 1px 3px #cccccc;
  border-radius: 5px;
}
html
<form>
  <fieldset>
    <legend>Confirmer les détails d'expédition</legend>
    <div>
      <label for="address">Adresse&nbsp;:</label>
      <textarea id="address" name="address" readonly>
16 Rue des Blagues,
Blagues en Cascades,
France</textarea
      >
    </div>
    <div>
      <label for="instructions">Instructions de livraison&nbsp;:</label>
      <textarea id="instructions" name="instructions"></textarea>
    </div>
  </fieldset>
  <button type="submit">Confirmer</button>
</form>

Mise en forme des contrôles non-formulaires en lecture-écriture

Ce sélecteur ne sélectionne pas seulement les éléments <input>/<textarea> — il sélectionnera tout élément qui peut être modifié par l'utilisateur, comme un élément <p> avec l'attribut contenteditable activé.

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
body {
  font-family: sans-serif;
}

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-write
Selectors Level 4
# read-write-pseudo

Compatibilité des navigateurs

Voir aussi