Maison > interface Web > tutoriel CSS > Pourquoi mon sélecteur enfant ne parvient-il pas à styliser les cellules du tableau ?

Pourquoi mon sélecteur enfant ne parvient-il pas à styliser les cellules du tableau ?

Barbara Streisand
Libérer: 2024-12-08 19:24:10
original
599 Les gens l'ont consulté

Why Does My Child Selector Fail to Style Table Cells?

Sélecteur enfant ou sélecteur descendant dans les structures de table

Lors de la sélection d'éléments dans des documents HTML, les développeurs utilisent souvent des sélecteurs enfants (>) pour ciblez les enfants directs et les sélecteurs descendants pour cibler tout élément imbriqué. Cependant, il existe des scénarios dans lesquels le sélecteur d'enfant semble échouer de manière inattendue.

Considérez l'exemple suivant :

table tr td {
  background-color: red;
}

table > tr > td {
  background-color: blue;
}
Copier après la connexion

La première règle sélectionne avec succès tous les fichiers éléments dans éléments dans

éléments. Cependant, la deuxième règle, qui utilise le sélecteur d'enfant (>), ne parvient pas à styliser les éléments , qui à son tour est un enfant de
éléments.

Intrigués par ce comportement, les développeurs pourraient supposer que puisque

est un enfant de
, le sélecteur d'enfant doit s'appliquer.

La confusion vient de l'inclusion implicite d'un

élément en HTML. Par défaut, les navigateurs insèrent un élément à contenir éléments. En conséquence, la structure réelle de l'élément devient :

<table>
  <tbody>
    <tr>
      <td></td>
    </tr>
  </tbody>
</table>
Copier après la connexion

Dans cette structure modifiée,

n'est plus un enfant direct de
, mais plutôt un enfant de , qui est lui-même un enfant de
. Par conséquent, le > le sélecteur ne peut pas cibler .

Pour corriger ce problème, les développeurs doivent sélectionner explicitement l'élément tbody :

table > tbody > tr > td {
  background-color: blue;
}
Copier après la connexion

Cela garantit que le sélecteur d'enfant cible le bon élément dans la structure modifiée. De plus, si un élément tbody est explicitement ajouté au document HTML, le même sélecteur peut être utilisé.

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
puisqu'il ne s'agit pas d'un enfant immédiat de