Maison > interface Web > tutoriel CSS > Comment appliquer des styles CSS à des éléments spécifiques avec des structures enfants variables ?

Comment appliquer des styles CSS à des éléments spécifiques avec des structures enfants variables ?

Mary-Kate Olsen
Libérer: 2024-10-23 22:03:30
original
283 Les gens l'ont consulté

How to Apply CSS Styles to Specific Elements with Varying Child Structures?

Style sur plusieurs parents avec :nth-child

Problème :

S'assurer que les sélecteurs CSS affectent des éléments spécifiques sur plusieurs les parents avec différentes structures d’éléments enfants peuvent être difficiles. Prenons l'exemple suivant :

<code class="html"><div class="foo">
    <ul>
        <li>one</li>
        <li>two</li>
    </ul>
    <ul>
        <li>three</li>
    </ul>
    <ul>
        <li>four</li>
    </ul>
</div></code>
Copier après la connexion

L'objectif est d'appliquer un style spécifique aux éléments de liste « un » et « trois ». Cependant, l'utilisation des sélecteurs :nth-child(1) et :nth-child(3) entraîne le style des premier et troisième éléments de la liste dans chaque élément ul.

Solution :

Malheureusement , les sélecteurs CSS ne peuvent pas à eux seuls gérer de telles variations dans les structures parent-enfant. Le sélecteur :nth-child() et les combinateurs frères et sœurs sont limités à la sélection d'éléments au sein du même parent.

Approches alternatives :

  • JavaScript : Bibliothèques telles que jQuery peut être utilisé pour cibler des éléments spécifiques en fonction de leur index ou de leur position dans le DOM.
  • Marquage explicite : L'ajout de classes ou d'identifiants aux éléments souhaités (un et trois dans ce cas) permet pour un ciblage précis à l'aide de sélecteurs CSS.

Par exemple, en ajoutant la classe "selected" aux premier et troisième éléments de la liste dans l'élément .foo :

<code class="html"><div class="foo">
    <ul>
        <li class="selected">one</li>
        <li>two</li>
    </ul>
    <ul>
        <li class="selected">three</li>
    </ul>
    <ul>
        <li>four</li>
    </ul>
</div></code>
Copier après la connexion

CSS :

<code class="css">.foo li.selected {
    color: red;
}</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