Interaktive elementer i HTML
Afsløring af indhold
<details>laver en åbn/luk-sektion, hvor ekstra indhold kun vises, når den er åben.
<summary>bruges til at angive den titel eller overskrift, der vises, når sektionen er lukket.
Browseren viser typisk en lille trekant ved siden af teksten, som roterer ved åbning.
<details>
<summary>Titel</summary>
<div>
<p>Indholdet vises kun, når <details> er åben.</p>
</div>
</details>name
grupperer flere <details>—elementer, så kun ét kan være åbent ad gangen.
open
angiver, om detaljerne er synlige
<details open>
...
</details><details name="my-detail">
...
</details>
<details name="my-detail">
...
</details>opennameøvelse
Brug <details> i stedet for <div> og <summary> i stedet for <p>.
Tilføj name-attributten, så kun én sektion kan være åben ad gangen.
<details>
<summary>
name
Lad den forblive åben
::details-content
repræsenterer det område i <details>, som kan foldes ud eller skjules.
summary::marker
trekanten foran <summary>. Kan ændres eller fjernes via content.
details[open]
details-elementet i åben tilstand
details[open]summary::marker::details-contentFjern standardpil med ::marker, og tilføj dit eget ikon med ::after.
/* Fjern eksisterende pil */
summary::marker {
content: none;
}summary::after {
content: '+';
font-family: system-ui;
font-weight: 400;
font-size: 1.1rem;
}
[open] summary::after {
content: '–';
}fra 0 til auto
p {
transition: .3s;
height: 0;
}
article:hover p {
height: auto;
}<details name="something">
<summary>Titel</summary>
<div>
<!-- indhold -->
</div>
</details>::details-content {
height: 0;
overflow: clip;
transition: .3s allow-discrete;
}
[open]::details-content {
height: auto;
}Forudsætter interpolate-size