Maison > interface Web > tutoriel CSS > Pseudo-classes CSS: champs de formulaire de style basé sur leur entrée

Pseudo-classes CSS: champs de formulaire de style basé sur leur entrée

尊渡假赌尊渡假赌尊渡假赌
Libérer: 2025-02-19 09:57:09
original
893 Les gens l'ont consulté

<img src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/000/000/173993023124148.jpg"  class="lazy" alt="CSS Pseudo-classes: Styling Form Fields Based on Their Input " />

**Key Concepts: Styling Form Fields with CSS Pseudo-Classes**

This article explores CSS pseudo-classes specifically designed for styling form fields based on user input, field requirements, and enabled/disabled states.  We'll cover how to leverage these selectors to enhance user experience and provide clear visual feedback.

<img src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/000/000/173993023288237.jpg"  class="lazy" alt="CSS Pseudo-classes: Styling Form Fields Based on Their Input " />

*This section is adapted from "CSS Master" by Tiffany B. Brown.*

Let's examine CSS pseudo-classes tailored for form fields and their inputs. These selectors enable styling based on input validity, required fields, and enabled/disabled status.  These pseudo-classes are inherently form-specific, reducing the need for extensive scoping. However, targeted selectors remain beneficial for differentiating styling across various form control types.

**`:enabled` and `:disabled`**

These pseudo-classes target elements with or without the `disabled` HTML5 attribute. This applies to input controls (e.g., `<input>`, `<select>`, `<button>`), and `<fieldset>` elements.  Form elements are enabled by default; the `disabled` attribute toggles this state.  `:enabled` selects elements lacking the `disabled` attribute, while `:disabled` selects elements possessing it.

```css
button:disabled {
    opacity: 0.5;
}
Copier après la connexion

CSS Pseudo-classes: Styling Form Fields Based on Their Input

:required et :optional

Ces pseudo-classes reflètent la présence ou l'absence de l'attribut required. Les navigateurs n'indiquent généralement que les champs requis lors de la soumission du formulaire. :required permet des signaux visuels de pré-submission.

input:required {
    border: 1px solid #ffc107;
}
Copier après la connexion

CSS Pseudo-classes: Styling Form Fields Based on Their Input

:optional Fonctionne de la même manière, la sélection d'éléments sans l'attribut required.

select:optional {
    border: 1px solid #ccc;
}
Copier après la connexion

CSS Pseudo-classes: Styling Form Fields Based on Their Input

:checked

Cette pseudo-classe s'applique uniquement aux boutons radio et aux cases à cocher, à styliser les entrées sélectionnées. Le style personnalisé nécessite souvent des combinaisons de sélecteurs intelligentes (combinateurs de frères et sœurs, pseudo-éléments) en raison des incohérences du navigateur.

[type=radio]:checked + label {
    font-weight: bold;
    font-size: 1.1rem;
}
Copier après la connexion

CSS Pseudo-classes: Styling Form Fields Based on Their Input

:in-range et :out-of-range

Ces pseudo-classes fonctionnent avec les entrées <range>, <number> et <date>, nécessitant des attributs min et / ou max.

:out-of-range {
    background: #ffeb3b;
}

:in-range {
    background: #fff;
}
Copier après la connexion

CSS Pseudo-classes: Styling Form Fields Based on Their Input

:valid et :invalid

Ces pseudo-classes style basées sur la validité d'entrée par rapport aux contraintes (type, modèle, min / max).

CSS Pseudo-classes: Styling Form Fields Based on Their Input

Plusieurs états et chaînage

Les contrôles de formulaire peuvent avoir plusieurs états simultanément. La gestion de la spécificité et des conflits en cascade pourraient nécessiter une attention particulière ou limiter l'utilisation de pseudo-classe. Les pseudo-classes peuvent être enchaînées (par exemple, input:focus:invalid).

(note de bas de page 6): Dans html5, la présence de l'attribut required, quelle que soit sa valeur, signifie un champ requis.

Questions fréquemment posées (FAQ): (Cette section est omise par la concision, car c'est une répétition directe de la section FAQ d'origine.)

<code></code>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal