Maison >interface Web >tutoriel CSS >Pourquoi « DIV.section DIV:first-child » ne stylise-t-il pas uniquement le premier enfant direct ?

Pourquoi « DIV.section DIV:first-child » ne stylise-t-il pas uniquement le premier enfant direct ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-18 22:39:20949parcourir

Why Doesn't `DIV.section DIV:first-child` Only Style the First Direct Child?

Spécificité du sélecteur enfant direct

Lors de l'application de CSS aux éléments HTML, il est crucial de comprendre la spécificité des sélecteurs. Dans votre scénario, le sélecteur DIV.section DIV:first-child semble styliser à la fois les divs "sous-contenu 1" et "en-tête".

Cependant, le sélecteur est destiné à correspondre uniquement au premier enfant direct. d'un div avec la classe "section". Voyons pourquoi le sélecteur d'origine ne fonctionne pas comme prévu.

Comprendre le descendant direct par rapport à l'enfant direct

La pseudo-classe :first-child sélectionne le premier enfant d'un élément. Cependant, dans votre cas, vous l'appliquez à DIV.section DIV, ce qui signifie "sélectionner tous les div qui descendent d'un div avec la classe 'section'". Cela inclut à la fois les enfants directs et les enfants imbriqués.

Utilisation du sélecteur de descendant direct

Pour cibler uniquement le premier enfant direct d'un div avec la classe "section", vous doit utiliser le sélecteur de descendant direct (>). Cet opérateur correspond aux éléments qui sont les enfants immédiats d'un parent spécifique. Le sélecteur modifié serait :

div.section > div:first-child

Ce sélecteur stylisera correctement uniquement le div "en-tête", car il s'agit du premier enfant immédiat du div avec la classe "section".

Problème de navigateur hérité

Notez que le sélecteur de descendant direct n'est pas pris en charge dans les navigateurs plus anciens, tels qu'Internet Explorer 6. Si vous Si vous devez prendre en charge de tels navigateurs, vous devrez peut-être utiliser des méthodes alternatives, telles que l'ajout de classes aux div enfants.

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:
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