Hintergrund für offene Details-Elemente

Avatar of Chris Coyier
Chris Coyier am

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

Eine Sache, die bei dem <details>-Element ein klein wenig seltsam sein kann, ist, dass es, wenn es geöffnet ist, nicht immer zu 100 % klar ist, was in diesem Element enthalten ist und was nicht. Ich sage nicht, dass das *immer* wichtig ist oder dass es ein besonders schwer zu lösendes Problem ist, ich bemerke es nur, weil es mir kürzlich aufgefallen ist.

Hier ist ein visuelles Beispiel

A screenshot of some text with details elements present. One of them is open. It's not clear what text is within that details and what isn't.
Welcher Text hier ist in einem <details> und welcher nicht?

Die Lösung ist... CSS. Stylen Sie das <details> etwas einzigartig, und dieses Problem ist behoben. Selbst wenn die Typografie gleich sein soll oder Sie keine exklusive Formatierung wünschen, bis das <details> geöffnet ist, ist es immer noch möglich. Mit einer alpha-transparenten Füllung können Sie sogar sicherstellen, dass tiefer verschachtelte <details> klar bleiben.

Hier ist das CSS

details[open] {
  --bg: rgb(0 0 0 / 0.2);
  background: var(--bg);
  outline: 1rem solid var(--bg);
  margin: 0 0 2rem 0;
}

Und die Demo