Vous en avez assez des messages de validation de formulaire maladroits ? Améliorons l'expérience utilisateur avec des pseudo-classes CSS pour un retour instantané et intuitif. Cet article montre comment créer des formulaires plus réactifs et conviviaux à l'aide de CSS.
Ce tutoriel nécessite une compréhension de base du HTML et du CSS. C'est tout ce dont vous avez besoin !
Nous illustrerons les commentaires en temps réel à l'aide d'éléments de formulaire HTML simples et de CSS.
Structure HTML initiale (simplifiée) :
<code class="language-html"><div> <label for="name">Name</label> <input type="text" id="name" required> </div> <div> <label for="email">Email</label> <input type="email" id="email" required> </div> <button type="submit">Submit</button> </div></code>
Style CSS initial (simplifié) :
<code class="language-css">form { padding: 1rem; width: 50%; div { display: flex; flex-direction: column; margin-bottom: 1rem; label { font-weight: bold; margin-bottom: 5px; } input { padding: 10px; border-radius: 5px; outline: 2px solid black; } } button { padding: 10px 1rem; border-radius: 5px; cursor: pointer; } }</code>
Apparition initiale :
Maintenant, ajoutons la magie des pseudo-classes CSS :
:valid
et :invalid
: Ceux-ci fournissent un retour immédiat selon que l'entrée est valide ou non selon les contraintes HTML5 (par exemple, required
, type="email"
).<code class="language-css">input:valid { outline-color: lightgreen; } input:invalid { outline-color: red; }</code>
:valid
et :invalid
en action :
:user-valid
et :user-invalid
: Ceux-ci fournissent des commentaires basés sur l'interaction de l'utilisateur, avant même que la validation intégrée du navigateur n'intervienne. Remarque : la prise en charge de ces éléments par le navigateur n'est pas encore universelle.<code class="language-css">input:user-valid { outline-color: lightgreen; } input:user-invalid { outline-color: red; }</code>
:user-valid
et :user-invalid
(Illustratif - Vérifier la compatibilité du navigateur) :
:placeholder-shown
: Cela cible les champs de saisie lorsque le texte de l'espace réservé est visible. En combinaison avec :valid
et :not()
, nous pouvons fournir des commentaires uniquement après que l'utilisateur a commencé à taper.<code class="language-css">input:not(:placeholder-shown):valid { outline-color: lightgreen; } input:not(:placeholder-shown):invalid { outline-color: red; }</code>
:placeholder-shown
en action :
:focus
: Pour affiner les commentaires pendant le processus de saisie et éviter la mise en surbrillance :invalid
immédiate avant que l'utilisateur n'ait entièrement saisi les données, utilisez :focus:invalid
.<code class="language-html"><div> <label for="name">Name</label> <input type="text" id="name" required> </div> <div> <label for="email">Email</label> <input type="email" id="email" required> </div> <button type="submit">Submit</button> </div></code>
:focus:invalid
pour une expérience plus raffinée :
En utilisant stratégiquement les pseudo-classes CSS, vous pouvez créer des formulaires qui fournissent des commentaires clairs et immédiats, améliorant ainsi considérablement l'expérience utilisateur. Expérimentez ces techniques pour créer des interfaces plus intuitives et conviviales. Partagez vos réflexions et autres idées de pseudo-classes CSS dans les commentaires ci-dessous !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!