Maison >interface Web >tutoriel CSS >Les sélecteurs CSS peuvent-ils cibler des éléments en fonction du préfixe de classe ?
Sélecteurs CSS par préfixe de classe
Question :
Est-il possible d'appliquer un CSS règle aux éléments où au moins une classe commence par un préfixe spécifié ? Par exemple, supposons que nous ayons l'extrait HTML suivant :
<div>
Pouvons-nous appliquer une règle qui cible uniquement les divs avec des classes commençant par « status- » ?
Réponse :
CSS 2.1 :
En CSS 2.1, ce n'est pas possible.
CSS 3 :
CSS3 a introduit des sélecteurs de correspondance de sous-chaînes d'attributs qui rendent cela possible :
div[class^="status-"], div[class*=" status-"]
Notez que ce dernier sélecteur inclut un caractère espace intentionnel, car les noms de classe sont généralement séparés par des espaces. Cela vérifie toutes les autres classes dans l'attribut de classe de l'élément et gère également les cas où les attributs de classe sont remplis d'espaces.
Si vous pouvez garantir que votre balisage n'aura jamais d'éléments où le préfixe de statut est intégré dans un autre mot, vous pourrait simplifier le sélecteur en [class*="status-"]. Cependant, pour des raisons de robustesse, la combinaison des deux sélecteurs est recommandée.
Alternativement, si vous contrôlez la génération HTML, il peut être plus simple de créer une classe « statut » dédiée avec le préfixe souhaité.
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!