: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 :</p>
<form>
<label for="email">Adresse e-mail :</label>
<input id="email" name="email" type="email" value="test@example.com" />
<label for="note">Courte note à propos de vous :</label>
<textarea id="note" name="note">N'ayez pas peur</textarea>
<label for="pic">Votre photo :</label>
<input id="pic" name="pic" type="file" />
<input type="submit" value="Soumettre le formulaire" />
</form>
Syntaxe
: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.
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
<p contenteditable>
Ce paragraphe est modifiable ; il est en lecture-écriture.
</p>
<p>Ce paragraphe n'est pas modifiable ; il est en lecture seule.</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;
}
Résultat
Spécifications
Specification |
---|
HTML> # selector-read-only> |
Selectors Level 4> # read-only-pseudo> |
Compatibilité des navigateurs
Loading…
Voir aussi
:read-write
- L'attribut HTML
contenteditable