<slot>: Das Web Component Slot-Element
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.
Das <slot>
HTML-Element, Teil der Web Components-Technologiesuite, ist ein Platzhalter in einem Web-Komponente, den Sie mit Ihrem eigenen Markup füllen können. Dies ermöglicht es Ihnen, separate DOM-Bäume zu erstellen und sie zusammen darzustellen.
Attribute
Dieses Element enthält die globalen Attribute.
name
-
Der Name des Slots. Wenn die Komponente, die den Slot enthält, gerendert wird, wird der Slot mit dem Kindelement des benutzerdefinierten Elements gerendert, das ein passendes
slot
-Attribut hat. Ein benannter Slot ist ein<slot>
-Element mit einemname
-Attribut. Nicht benannte Slots haben standardmäßig den Namen als leeren String. Namen sollten innerhalb eines Shadow-Roots eindeutig sein: Wenn Sie zwei Slots mit demselben Namen haben, werden alle Elemente mit einem passendenslot
-Attribut dem ersten Slot mit diesem Namen zugewiesen.
Beispiele
<template id="element-details-template">
<style>
details {
font-family: "Open Sans Light", Helvetica, Arial, sans-serif;
}
.name {
font-weight: bold;
color: #217ac0;
font-size: 120%;
}
h4 {
margin: 10px 0 -8px 0;
background: #217ac0;
color: white;
padding: 2px 6px;
border: 1px solid #cee9f9;
border-radius: 4px;
}
.attributes {
margin-left: 22px;
font-size: 90%;
}
.attributes p {
margin-left: 16px;
font-style: italic;
}
</style>
<details>
<summary>
<code class="name">
<<slot name="element-name">NEED NAME</slot>>
</code>
<span class="desc"><slot name="description">NEED DESCRIPTION</slot></span>
</summary>
<div class="attributes">
<h4>Attributes</h4>
<slot name="attributes"><p>None</p></slot>
</div>
</details>
<hr />
</template>
Hinweis: Sie können dieses vollständige Beispiel in Aktion unter element-details sehen (siehe es live laufend). Außerdem finden Sie eine Erklärung unter Verwendung von Vorlagen und Slots.
Technische Zusammenfassung
Inhaltskategorien | Flow-Inhalt, Phrasierungsinhalt |
---|---|
Erlaubter Inhalt | Transparent |
Ereignisse | [`slotchange`](/de/docs/Web/API/HTMLSlotElement/slotchange_event) |
Tag-Auslassung | Keine, sowohl das Start- als auch das End-Tag sind obligatorisch. |
Erlaubte Eltern | Jedes Element, das Phrasierungsinhalt akzeptiert |
Implizite ARIA-Rolle | Keine entsprechende Rolle |
Erlaubte ARIA-Rollen | Keine role erlaubt |
DOM-Schnittstelle | [`HTMLSlotElement`](/de/docs/Web/API/HTMLSlotElement) |
Spezifikationen
Specification |
---|
HTML # the-slot-element |
DOM # shadow-tree-slots |
Browser-Kompatibilität
Siehe auch
- HTML-Element
<template>
- HTML-Attribut
slot
- CSS-Pseudoelement
::slotted
- CSS-Pseudoklasse
:has-slotted
- CSS-Scoping-Modul