Allgemeines Geschwisterelement

Avatar of Sara Cope
Sara Cope am

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

Der allgemeine Geschwisterselektor (~) in CSS sieht in der Anwendung so aus

.featured-image ~ p {
  font-size: 90%;
}

In diesem Beispiel würden Sie alle Absätze in einem Artikel auswählen, die nach dem hervorgehobenen Bild (ein Element mit dem Klassennamen „featured-image“) kommen, und ihnen eine etwas kleinere `font-size` geben.

Dies wählt Elemente auf derselben Hierarchieebene aus. In diesem Beispiel befinden sich `.featured-image` und die `p`-Elemente auf derselben Hierarchie. Wenn der Selektor über `p` hinausginge oder vor `.featured-image` stünde, gelten die normalen Regeln. ` .featured-image ~ p span ` würde also immer noch `span`-Elemente auswählen, die Nachfahren von dem sind, was `.featured-image ~ p` entspricht.

Die Spezifikation für Selektoren Level 4 nennt diese „Following Sibling Combinators“.

Demo

Hier ist ein weiteres Beispiel, das alle `p`-Elemente hervorhebt, die einem `img` folgen

img ~ p {
  background-color: #FEF0B6;
  padding: 5px;
}

Was zu folgendem Ergebnis führt

Eigenheiten

WebKit hatte früher eine Eigenheit, bei der man diese nicht mit Pseudo-Selektoren verwenden konnte. Wie zum Beispiel

input:checked ~ div {
   /* Wouldn't work */
}

Ich kenne die genauen Browser-Versionen, in denen dies behoben wurde, nicht, aber es ist jetzt behoben.

Weitere Informationen

Browser-Unterstützung

ChromeSafariFirefoxOperaIEAndroidiOS
Alle3+1+9+7+AlleAlle