This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The HTML <slot> element—part of the Web Components technology suite—is a placeholder inside a web component that you can fill with your own markup, which lets you create separate DOM trees and present them together.
| Content categories | Flow content, phrasing content |
|---|---|
| Permitted content | Transparent |
| Tag omission | None, both the starting and ending tag are mandatory. |
| Permitted parents | Any element that accepts phrasing content |
| Permitted ARIA roles | None |
| DOM interface | HTMLSlotElement |
Attributes
This element includes the global attributes.
name- The slot's name.
- A named slot is a
<slot>element with anameattribute.
Examples
<template id="element-details-template">
<style>
details {font-family: "Open Sans Light",Helvetica,Arial}
.name {font-weight: bold; color: #217ac0; font-size: 120%}
h4 { margin: 10px 0 -8px 0; }
h4 span { background: #217ac0; padding: 2px 6px 2px 6px }
h4 span { border: 1px solid #cee9f9; border-radius: 4px }
h4 span { color: white }
.attributes { margin-left: 22px; font-size: 90% }
.attributes p { margin-left: 16px; font-style: italic }
</style>
<details>
<summary>
<span>
<code class="name"><<slot name="element-name">NEED NAME</slot>></code>
<i class="desc"><slot name="description">NEED DESCRIPTION</slot></i>
</span>
</summary>
<div class="attributes">
<h4><span>Attributes</span></h4>
<slot name="attributes"><p>None</p></slot>
</div>
</details>
<hr>
</template>
Note: You can see this complete example in action at element-details (see it running live). In addition, you can find an explanation at Using templates and slots.
Specifications
| Specification | Status | Comment |
|---|---|---|
| HTML Living Standard The definition of '<slot>' in that specification. |
Living Standard | |
| DOM The definition of 'Slots' in that specification. |
Living Standard |
Browser compatibility
| Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 53 | No | Yes1 | No | 40 | 10 |
name | 53 | No | No | No | 40 | 10 |
| Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
|---|---|---|---|---|---|---|---|
| Basic support | 53 | 53 | No | Yes1 | 40 | 10.1 | ? |
name | 53 | 53 | No | No | 40 | 10.1 | ? |
1. This feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.