::details-content
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das ::details-content
CSS Pseudo-Element repräsentiert den erweiterbaren/einklappbaren Inhalt eines <details>
Elements.
Probieren Sie es aus
details[open]::details-content {
color: dodgerblue;
padding: 0.5em;
border: thin solid grey;
}
<details open>
<summary>Example summary</summary>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
<p>
Architecto cupiditate ea optio modi quas sequi, esse libero asperiores
debitis eveniet commodi hic ad.
</p>
</details>
Syntax
selector::details-content
Beispiele
Einfaches Beispiel
In diesem Beispiel wird das ::details-content
Pseudo-Element verwendet, um eine background-color
auf den Inhalt des <details>
Elements zu setzen.
HTML
<details>
<summary>Click me</summary>
<p>Here is some content</p>
</details>
CSS
details::details-content {
background-color: #a29bfe;
}
Ergebnis
Übergangsbeispiel
In diesem Beispiel wird das ::details-content
Pseudo-Element verwendet, um eine transition
auf den Inhalt des <details>
Elements zu setzen, sodass es beim Erweitern sanft eingeblendet und beim Einklappen wieder ausgeblendet wird. Um dies zu erreichen, werden zwei separate Übergänge innerhalb der transition
Kurzform-Eigenschaft festgelegt:
- Die
opacity
Eigenschaft erhält einen einfachen Übergang über600ms
, um den Ein-/Ausblendeffekt zu erzeugen. - Die
content-visibility
Eigenschaft (die zwischenhidden
undvisible
umgeschaltet wird, wenn der<details>
Inhalt erweitert/eingeklappt wird) erhält ebenfalls einen einfachen600ms
Übergang, jedoch mit demtransition-behavior
Wertallow-discrete
. Dies ermöglicht dem Browser, einen Übergang beicontent-visibility
zu starten, dessen Animationsverhalten diskret ist. Der Effekt ist, dass der Inhalt für die gesamte Dauer des Übergangs sichtbar ist, sodass andere Übergänge sichtbar sind. Wenn dieser Übergang nicht enthalten wäre, würde der Inhalt sofort verschwinden, wenn der<details>
Inhalt eingeklappt wird – man würde das sanfte Ausblenden nicht sehen.
HTML
<details>
<summary>Click me</summary>
<p>Here is some content</p>
</details>
CSS
details::details-content {
opacity: 0;
transition:
opacity 600ms,
content-visibility 600ms allow-discrete;
}
details[open]::details-content {
opacity: 1;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Pseudo-Elements Module Level 4 # details-content-pseudo |
Browser-Kompatibilität
BCD tables only load in the browser