::details-content
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Le pseudo-élément CSS ::details-content
représente le contenu extensible/collapsible d'un élément <details>
.
Exemple interactif
details[open]::details-content {
color: dodgerblue;
padding: 0.5em;
border: thin solid grey;
}
<details open>
<summary>Exemple de résumé</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>
Syntaxe
css
selector::details-content {
/* ... */
}
Exemples
>Exemple simple
Dans cet exemple, le pseudo-élément ::details-content
est utilisé pour définir une background-color
sur le contenu de l'élément <details>
.
HTML
html
<details>
<summary>Cliquez ici</summary>
<p>Voici un contenu</p>
</details>
CSS
css
details::details-content {
background-color: #a29bfe;
}
Résultat
Exemple de transition
Dans cet exemple, le pseudo-élément ::details-content
est utilisé pour définir une transition
sur le contenu de l'élément <details>
afin qu'il s'affiche en douceur lorsqu'il est développé, et disparaisse à nouveau lorsqu'il est réduit. Pour ce faire, deux transitions distinctes sont spécifiées à l'intérieur de la propriété abrégée transition
:
- La propriété
opacity
reçoit une transition de base de600ms
pour créer l'effet de fondu en entrée/sortie. - La propriété
content-visibility
(qui est basculée entrehidden
etvisible
lorsque le contenu<details>
est développé/réduit) reçoit également une transition de base de600ms
, mais avec la valeurtransition-behavior
allow-discrete
spécifiée. Cela permet au navigateur de démarrer une transition surcontent-visibility
, dont le comportement d'animation est discret. L'effet est que le contenu est visible pendant toute la durée de la transition, permettant aux autres transitions d'être vues. Si cette transition n'était pas incluse, le contenu disparaîtrait immédiatement lorsque le contenu<details>
serait réduit — vous ne verriez pas le fondu en douceur.
HTML
html
<details>
<summary>Cliquez ici</summary>
<p>Voici un contenu</p>
</details>
CSS
css
details::details-content {
opacity: 0;
transition:
opacity 600ms,
content-visibility 600ms allow-discrete;
}
details[open]::details-content {
opacity: 1;
}
Résultat
Spécifications
Specification |
---|
CSS Pseudo-Elements Module Level 4> # details-content-pseudo> |
Compatibilité des navigateurs
Loading…