Heim >Web-Frontend >CSS-Tutorial >Warum wählt „:first-child' nicht „Mein H1' aus?

Warum wählt „:first-child' nicht „Mein H1' aus?

Susan Sarandon
Susan SarandonOriginal
2024-12-07 14:03:16250Durchsuche

Why Doesn't `:first-child` Select My H1?

Warum :first-child nicht das erwartete H1 auswählt

Im dargestellten Szenario besteht das Ziel darin, das erste h1-Element einzufärben innerhalb eines div mit der Klasse detail_container blue. Das verwendete CSS (:first-child) geht davon aus, dass das Zielelement das erste untergeordnete Element seines übergeordneten Elements ist, aber in diesem Fall ist das erste untergeordnete Element des übergeordneten Elements das ul-Element.

Verstehen von :first-child

Der :first-child-Selektor wählt das erste untergeordnete Element eines angegebenen übergeordneten Elements aus, das den angegebenen Kriterien entspricht. Im bereitgestellten Code ist das Kriterium „h1“, aber da das erste untergeordnete Element des div das ul ist, gilt der :first-child-Selektor nicht für das h1-Element.

Alternative Lösung mit :first-of-type

CSS3 führt den :first-of-type-Selektor ein, der das erste Vorkommen eines Elementtyps innerhalb seines auswählt Elternteil. In diesem Szenario würde das Ersetzen von :first-child durch :first-of-type das Problem beheben:

.detail_container h1:first-of-type {
  color: blue;
}

Überlegungen zur Browserkompatibilität

Allerdings:first- of-type hat im Vergleich zu :first-child eine eingeschränkte Browserkompatibilität.

Empfohlene Lösung mit Klasse

Eine praktischere und browserübergreifende kompatiblere Lösung besteht darin, dem Ziel-h1-Element eine Klasse zuzuweisen und es entsprechend zu formatieren:

.detail_container h1.first {
  color: blue;
}

Das obige ist der detaillierte Inhalt vonWarum wählt „:first-child' nicht „Mein H1' aus?. 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