Heim  >  Artikel  >  Web-Frontend  >  Warum funktioniert mein Selektor für das n-te Kind nicht bei verschachtelten Elementen?

Warum funktioniert mein Selektor für das n-te Kind nicht bei verschachtelten Elementen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-28 11:04:02800Durchsuche

 Why is my nth-child selector not working on nested elements?

Warum funktioniert der Selektor für das n-te Kind nicht?

Möglicherweise ist dieses Problem bei der Verwendung des Selektors für das n-te Kind aufgetreten Styling-Zwecke. Obwohl Sie diesen Selektor zum Hinzufügen von Hintergrundbildern zu verschiedenen sozialen Symbolen verwenden, stellen Sie fest, dass alle Symbole das gleiche Erscheinungsbild aufweisen. Dies bedeutet, dass etwas in Ihrem Code nicht stimmt.

Einblick in das Problem

Der Selektor für das n-te Kind ist so konzipiert, dass er auf bestimmte Elemente basierend auf ihrer Position unter ihnen abzielt Geschwisterelemente. Allerdings zielt in Ihrem Code der Selektor:

#social-links div:nth-child(1),
#social-links div:nth-child(2),
#social-links div:nth-child(3),
#social-links div:nth-child(4),

auf die div-Elemente ab, die untergeordnete Elemente des #social-links-Elements sind. Diese div-Elemente sind jedoch immer das einzige untergeordnete Element ihrer jeweiligen Ankerelemente (a). Daher kann der Selektor für das n-te Kind nicht zwischen ihnen unterscheiden, da sie alle das erste und einzige Kind ihrer Ankerelemente sind.

Der richtige Ansatz

Zur Abhilfe Um dieses Problem zu lösen, müssen Sie den Selektor für das n-te Kind so anpassen, dass er auf die Ankerelemente und nicht auf die div-Elemente abzielt. Auf diese Weise können Sie angeben, welches Ankerelement ein bestimmtes Hintergrundbild erhalten soll:

#social-links a:nth-child(1) div { 
   background-image: url('path/to/image1.svg'); 
}
#social-links a:nth-child(2) div { 
   background-image: url('path/to/image2.svg'); 
}
#social-links a:nth-child(3) div { 
   background-image: url('path/to/image3.svg'); 
}
#social-links a:nth-child(4) div { 
   background-image: url('path/to/image4.svg'); 
}

Diese modifizierte Codestruktur stellt sicher, dass jedes Ankerelement das vorgesehene Hintergrundbild basierend auf seiner Position unter den gleichgeordneten Ankerelementen erhält.

Das obige ist der detaillierte Inhalt vonWarum funktioniert mein Selektor für das n-te Kind nicht bei verschachtelten Elementen?. 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