Attributen
Dit element bevat de globale attributen.
|
Dit Booleaanse attribuut geeft aan of de details — dat wil zeggen, de inhoud van het Opmerking
Je moet dit attribuut volledig verwijderen om de details te verbergen. | |
|
Dit attribuut maakt het mogelijk om meerdere Het Opmerking
|
Gebeurtenissen
Naast de gebruikelijke gebeurtenissen die door HTML-elementen worden ondersteund, ondersteunt het <details>-element de gebeurtenis toggle, die naar het <details>-element wordt verzonden telkens wanneer zijn toestand verandert tussen open en gesloten. Deze wordt na de statuswijziging verzonden, hoewel, als de toestand meerdere keren verandert voordat de browser de gebeurtenis kan verzenden, de gebeurtenissen worden samengevoegd zodat er slechts één wordt verzonden.
Je kunt een event listener voor de toggle-gebeurtenis gebruiken om te detecteren wanneer de widget van toestand verandert:
details.addEventListener("toggle", (event) => {
if (details.open) {
/* the element was toggled open */
} else {
/* the element was toggled closed */
}
});Voorbeelden
Een basaal uitklapvoorbeeld
Dit voorbeeld toont een eenvoudig <details>-element met een <summary>.
<details>
<summary>System Requirements</summary>
<p>
Requires a computer running an operating system. The computer must have some
memory and ideally some kind of long-term storage. An input device as well
as some form of output device is recommended.
</p>
</details>Resultaat
Een geopend uitklapvak maken
Om het <details>-vak in geopende toestand te laten starten, voeg je het Booleaanse open-attribuut toe:
<details open>
<summary>System Requirements</summary>
<p>
Requires a computer running an operating system. The computer must have some
memory and ideally some kind of long-term storage. An input device as well
as some form of output device is recommended.
</p>
</details>Resultaat
Meerdere benoemde uitklapvakken
We voegen meerdere <details>-vakken toe, allemaal met dezelfde naam, zodat er slechts één tegelijk open kan zijn:
<details name="requirements">
<summary>Graduation Requirements</summary>
<p>
Requires 40 credits, including a passing grade in health, geography,
history, economics, and wood shop.
</p>
</details>
<details name="requirements">
<summary>System Requirements</summary>
<p>
Requires a computer running an operating system. The computer must have some
memory and ideally some kind of long-term storage. An input device as well
as some form of output device is recommended.
</p>
</details>
<details name="requirements">
<summary>Job Requirements</summary>
<p>
Requires knowledge of HTML, CSS, JavaScript, accessibility, web performance,
privacy, security, and internationalization, as well as a dislike of
broccoli.
</p>
</details>Resultaat
Probeer alle uitklap-widgets te openen. Wanneer je er één opent, sluiten alle andere automatisch.
Het uiterlijk aanpassen
Laten we nu wat CSS toepassen om het uiterlijk van het uitklapvak aan te passen.
CSS
details {
font:
16px "Open Sans",
"Calibri",
sans-serif;
width: 620px;
}
details > summary {
padding: 2px 6px;
width: 15em;
background-color: #dddddd;
border: none;
box-shadow: 3px 3px 4px black;
cursor: pointer;
}
details > p {
border-radius: 0 0 10px 10px;
background-color: #dddddd;
padding: 2px 6px;
margin: 0;
box-shadow: 3px 3px 4px black;
}
details:open > summary {
background-color: #ccccff;
}Deze CSS creëert een uiterlijk dat lijkt op een interface met tabbladen, waarbij het klikken op het tabblad het opent om de inhoud ervan te tonen.
In browsers die de :open-pseudoklasse niet ondersteunen, kun je de attribuutselector details[open] gebruiken om het <details>-element te stylen wanneer het zich in de geopende toestand bevindt.
HTML
<details>
<summary>System Requirements</summary>
<p>
Requires a computer running an operating system. The computer must have some
memory and ideally some kind of long-term storage. An input device as well
as some form of output device is recommended.
</p>
</details>Resultaat
Zie de pagina van <summary> voor een voorbeeld van het aanpassen van de uitklap-widget.
Technische samenvatting
| Inhoudscategorieën | Flow content, sectioning root, interactive content, palpable content. |
|---|---|
| Toegestane inhoud |
Eén <summary>-element, gevolgd door
flow content.
|
| Tag weglaten | Geen, zowel de begin- als de eindtag zijn verplicht. |
| Toegestane ouders | Elk element dat flow content accepteert. |
| Impliciete ARIA-rol | group |
| Toegestane ARIA-rollen | Geen role toegestaan |
| DOM-interface | HTMLDetailsElement |