:first-of-type

Avatar of Sara Cope
Sara Cope am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Der :first-of-type Selektor in CSS erlaubt es Ihnen, das erste Vorkommen eines Elements innerhalb seines Containers anzusprechen. Er ist in der CSS Selectors Level 3 Spezifikation als "strukturelle Pseudoklasse" definiert, was bedeutet, dass er verwendet wird, um Inhalte basierend auf ihrer Beziehung zu übergeordneten und Geschwisterelementen zu stylen.

Angenommen, wir haben einen Artikel mit einem Titel und mehreren Absätzen

<article>
  <h1>A Title</h1>
  <p>Paragraph 1.</p>
  <p>Paragraph 2.</p>
  <p>Paragraph 3.</p>
</article>

Wir möchten den ersten Absatz größer machen, als eine Art "Leit"- oder Einführungsparagraph. Anstatt ihm eine Klasse zu geben, können wir :first-of-type verwenden, um ihn auszuwählen

p:first-of-type {
  font-size: 1.25em;
}

Die Verwendung von :first-of-type ist :nth-child sehr ähnlich, aber mit einem entscheidenden Unterschied: es ist weniger spezifisch. Im obigen Beispiel würde nichts passieren, wenn wir p:nth-child(1) verwendet hätten, da der Absatz nicht das erste Kind seines Elternelements (des <article>) ist. Dies enthüllt die Macht von :first-of-type: es zielt auf einen bestimmten Elementtyp in einer bestimmten Anordnung ab, in Bezug auf ähnliche Geschwister, nicht alle Geschwister.

Das vollständigere Beispiel unten zeigt die Verwendung von :first-of-type und einer verwandten Pseudoklassen-Selektoren, :last-of-type.

Check out this Pen!

Weitere Ressourcen

Browser-Unterstützung

Chrome Safari Firefox Opera IE Android iOS
Funktioniert 3.2+ Funktioniert 9.5+ 9+ Funktioniert Funktioniert

:first-of-type wurde im CSS Selectors Module 3 eingeführt, was bedeutet, dass alte Browserversionen es nicht unterstützen. Die Unterstützung moderner Browser ist jedoch tadellos, und die neuen Pseudoselektoren werden in Produktionsumgebungen häufig verwendet. Wenn Sie ältere Browserunterstützung benötigen, verwenden Sie entweder ein Polyfill für IE oder verwenden Sie diese Selektoren auf nicht-kritische Weise à la progressive enhancement, was empfohlen wird.