Slot

<slot>: The Web Component Slot element #

::: section-content The <slot> HTML 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. :::

Attributes #

::: section-content This element includes the global attributes.

name

The slot's name.

A named slot is a <slot> element with a name attribute. :::

Examples #

::: section-content ::: code-example [html]{.language-name}

<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">
        &lt;<slot name="element-name">NEED NAME</slot>&gt;
      </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>
    
  </details>
  <hr />
</template>

:::

::: {#sect1 .notecard .note} Note: You can see this complete example in action at element-details{target="_blank"} (see it running live{target="_blank"}). In addition, you can find an explanation at Using templates and slots. ::: :::

Technical summary #

::: section-content

Content categoriesFlow content, phrasing content
Permitted contentTransparent
Eventsslotchange
Tag omissionNone, both the starting and ending tag are mandatory.
Permitted parentsAny element that accepts phrasing content
Implicit ARIA roleNo corresponding role
Permitted ARIA rolesNo role permitted
DOM interfaceHTMLSlotElement
:::

Specifications #

::: _table #

Specification #

HTML Standard
[# the-slot-element]{.small}

DOM Standard
[# shadow-tree-slots]{.small}
#

:::

Browser compatibility #

::: _table Desktop Mobile


       Chrome    Edge   Firefox   Internet Explorer   Opera   Safari   WebView Android   Chrome Android   Firefox for Android   Opera Android   Safari on IOS   Samsung Internet

slot 53 79 63 No 40 10 53 53 63 41 10 6.0 name 53 79 63 No 40 10 53 53 63 41 10 6.0 :::

See also #

::: section-content

::: _attribution © 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/slot{._attribution-link} :::