Heim  >  Artikel  >  Web-Frontend  >  Wie wende ich CSS-Stile auf bestimmte Elemente mit unterschiedlichen untergeordneten Strukturen an?

Wie wende ich CSS-Stile auf bestimmte Elemente mit unterschiedlichen untergeordneten Strukturen an?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-23 22:03:30116Durchsuche

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

Styling über mehrere Eltern hinweg mit :nth-child

Problem:

Es wird sichergestellt, dass CSS-Selektoren bestimmte Elemente über mehrere hinweg beeinflussen Eltern mit unterschiedlichen Kinderelementstrukturen können eine Herausforderung darstellen. Betrachten Sie das folgende Beispiel:

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

Das Ziel besteht darin, einen bestimmten Stil auf die Listenelemente „eins“ und „drei“ anzuwenden. Die Verwendung der Selektoren :nth-child(1) und :nth-child(3) führt jedoch dazu, dass das erste und dritte Listenelement innerhalb jedes ul-Elements formatiert wird.

Lösung:

Leider , können CSS-Selektoren allein solche Variationen in Eltern-Kind-Strukturen nicht bewältigen. Der :nth-child()-Selektor und die Geschwisterkombinatoren sind auf die Auswahl von Elementen innerhalb desselben übergeordneten Elements beschränkt.

Alternative Ansätze:

  • JavaScript: Bibliotheken wie jQuery kann verwendet werden, um bestimmte Elemente basierend auf ihrem Index oder ihrer Position innerhalb des DOM anzusprechen.
  • Explizite Markierung: Das Hinzufügen von Klassen oder IDs zu den gewünschten Elementen (in diesem Fall eins und drei) ermöglicht für präzises Targeting mithilfe von CSS-Selektoren.

Zum Beispiel das Hinzufügen der Klasse „selected“ zum ersten und dritten Listenelement innerhalb des .foo-Elements:

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

CSS:

<code class="css">.foo li.selected {
    color: red;
}</code>

Das obige ist der detaillierte Inhalt vonWie wende ich CSS-Stile auf bestimmte Elemente mit unterschiedlichen untergeordneten Strukturen an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn