Spec-Zone.ru › HTML

<slot> HTML-элемент slot веб-компонента

Baseline Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с января 2020 года.

  • Подробнее
  • Полная таблица совместимости
  • Отправить отзыв
>

Элемент <slot> HTML — это заполнитель внутри веб-компонента, который можно заполнить собственной разметкой при использовании компонента. Это позволяет создавать отдельные деревья DOM и отображать их вместе.

Слоты могут содержать обычный текст, другие элементы HTML или другие веб-компоненты. Слот также может содержать содержимое по умолчанию, которое отображается, если при использовании веб-компонента слоту не назначено другое содержимое.

Атрибуты

Этот элемент включает глобальные атрибуты.

name

Имя слота. Именованный слот — это элемент <slot> с атрибутом name, а безымянный слот не имеет атрибута name, и по умолчанию его имя представляет собой пустую строку.

Если в корне теневого DOM используется назначение именованных слотов, дочерние элементы верхнего уровня хоста отображаются в слотах, имя которых совпадает со значением их атрибута slot. Имена слотов в одном корне теневого DOM должны быть уникальными: если у вас есть два слота с одинаковым именем, все элементы с соответствующим атрибутом slot отображаются в первом слоте. Все дочерние элементы верхнего уровня, у которых нет атрибута slot, отображаются в первом безымянном элементе <slot>, который называется слотом по умолчанию. Атрибут name не влияет на результат, если в корне теневого DOM используется ручное назначение слотов.

Дополнительную информацию см. в разделе shadowrootslotassignment об элементе <template> и в разделе Element.attachShadow().

Примеры

>

Основное использование

В этом HTML показано, как можно объявить несколько именованных слотов в элементе <template>. Обратите внимание, что эти слоты используются как слоты, только когда шаблон применяется внутри корня теневого DOM.

<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>
    </div>
  </details>
  <hr />
</template>

Примечание: Полный пример можно посмотреть в действии в репозитории element-details (см. работающую версию). Кроме того, объяснение доступно в разделе Использование шаблонов и слотов.

Техническая сводка

Категории содержимого Потоковое содержимое, строчное содержимое
Допустимое содержимое Прозрачное
События slotchange
Опускание тегов Не допускается: обязательны и открывающий, и закрывающий теги.
Допустимые родительские элементы Любой элемент, допускающий строчное содержимое
Неявная роль ARIA Нет соответствующей роли
Допустимые роли ARIA Не допускается ни одна роль role
Интерфейс DOM HTMLSlotElement

Спецификации

Спецификация
HTML>
# the-slot-element>
DOM>
# shadow-tree-slots>

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
slot 53 79 63 40 10 53 63 41 10 6.0 53 10
name 53 79 63 40 10 53 63 41 10 6.0 53 10

См. также

  • Элемент HTML <template>
  • Атрибут HTML slot
  • Псевдоэлемент CSS ::slotted
  • Псевдокласс CSS :has-slotted
  • Модуль областей видимости CSS
  • Использование шаблонов и слотов

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/slot

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API