Maison > interface Web > tutoriel CSS > Pourquoi `:first-child` ne parvient-il pas à sélectionner le premier `` dans les éléments imbriqués et comment puis-je y remédier ?

Pourquoi `:first-child` ne parvient-il pas à sélectionner le premier `` dans les éléments imbriqués et comment puis-je y remédier ?

Barbara Streisand
Libérer: 2024-12-09 10:12:08
original
1029 Les gens l'ont consulté

Why Does `:first-child` Fail to Select the First `` in Nested Elements, and How Can I Fix It?

 : le premier enfant ne parvient pas à correspondre aux éléments attendus dans certains cas

Lors de la tentative de sélection du premier élément h1 dans un div avec la classe "detail_container", le sélecteur :first-child peut ne pas fonctionner comme prévu. Cela se produit lorsque h1 n'est pas l'enfant immédiat du div, comme dans l'exemple suivant :

<style type="text/css">
.detail_container h1:first-child {
  color: blue;
} 
</style>
<body>
<div class="detail_container">
  <ul>
    <li></li>
    <li></li>
  </ul>
  <h1>First H1</h1>
  <h1>Second H1</h1>
</div>
</body>
Copier après la connexion

Dans ce cas, le sélecteur :first-child ne parvient pas à sélectionner le premier h1 car l'élément ul est le premier enfant du div, pas le h1.

Comment résoudre le problème

Pour sélectionner le premier élément h1, quelle que soit sa position dans le div, il existe d'autres sélecteurs CSS disponibles :

1. :first-of-type

Le sélecteur :first-of-type sélectionne le premier enfant de son parent qui correspond à un type d'élément donné. Dans ce cas, il sélectionnerait le premier enfant h1 du div, comme suit :

.detail_container h1:first-of-type {
  color: blue;
} 
Copier après la connexion

2. Sélection basée sur les classes

Une autre approche consiste à donner au premier h1 une classe unique, telle que "first", puis à cibler cette classe dans le CSS :

.detail_container h1.first {
  color: blue;
}
Copier après la connexion

Ceci La méthode offre une plus grande flexibilité et un plus grand contrôle sur la sélection.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal