DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!
Die :only-child Pseudo-Klassen-Selektoreigenschaft in CSS repräsentiert ein Element, das ein Elternelement hat und dessen Elternelement keine anderen Element-Kinder hat. Dies wäre dasselbe wie :first-child:last-child oder :nth-child(1):nth-last-child(1), aber mit geringerer Spezifität.
div p:only-child {
color: red;
}
Wenn wir zum Beispiel Absätze in einem <div> wie folgt verschachteln...
<div>
<p>This paragraph is the only child of its parent</p>
</div>
<div>
<p>This paragraph is the first child of its parent</p>
<p>This paragraph is the second child of its parent</p>
</div>
Jetzt können wir den einzigen <p> unseres ersten Kind-<div> stylen. Der nachfolgende <div> und seine Kinder werden niemals gestylt, da der Elterncontainer mehr als ein Kind enthält (d.h. die p-Tags).
p:only-child {
color:red;
}
Wir könnten auch zusätzliche Pseudo-Klassen wie in diesem Beispiel einmischen, das den ersten Absatz innerhalb unseres verschachtelten Divs und das only-child von div.contain auswählt.
<div class="contain">
<div>
<p>Hello World</p>
<p>some more children</p>
</div>
</div>
div.contain div:only-child :first-child {
color: red;
}
:only-child funktioniert nicht als Selektor, wenn Ihr Elternelement mehr als ein Kind mit einem identischen Tag enthält. Zum Beispiel...
<div class="contain">
<div>
<h1>Div Child 1</h1>
<p>paragraph1</p>
<p>paragraph2</p>
</div>
<div>
<h1>Div Child 2</h1>
<p>paragraph1</p>
<p>paragraph2</p>
</div>
<div>
<h1>Div Child 3</h1>
<p>paragraph1</p>
<p>paragraph2</p>
</div>
</div>
div.contain div:only-child {
color: red;
}
Dies führt dazu, dass keine Divs die Farbe Rot erben, da der Elternteil mehr als 1 Kind enthält (die 3 unbenannten Divs).
Verwandte Eigenschaften
Weitere Ressourcen
Browser-Unterstützung
Diese Browser-Support-Daten stammen von Caniuse, das mehr Details enthält. Eine Zahl gibt an, dass der Browser die Funktion ab dieser Version unterstützt.
Desktop
| Chrome | Firefox | IE | Edge | Safari |
|---|---|---|---|---|
| 4 | 3.5 | 9 | 12 | 3.2 |
Mobil / Tablet
| Android Chrome | Android Firefox | Android | iOS Safari |
|---|---|---|---|
| 127 | 127 | 2.1 | 3.2 |
Danke...! Sehr selten bekannte Eigenschaft...
Hallo,
wie kann ich das abgleichen (wenn „strong“ das einzige Kind von „p“ ist und „p“ keinen Text hat)
aber nicht das (wenn „p“ auch Text hat)
Vielen Dank!