Spec-Zone.ru › Web APIs

CSSContainerRule: свойство containerName

Базовая версия 2023
Новое

С февраля 2023 года эта функция работает на последних устройствах и версиях браузеров. Возможно, эта функция не будет работать на более старых устройствах или браузерах.

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

Только для чтения containerName свойство интерфейса CSSContainerRule представляет имя контейнера ассоциированного CSS @container at-правила.

Например, значение containerName для @container ниже равно sidebar:

@container sidebar (min-width: 700px) {
  .card {
    font-size: 2em;
  }
}

Значение

Строка, содержащая container-name ассоциированного @container с этим CSSContainerRule. Если @container не именован, функция возвращает пустую строку ("").

Примеры

В примере ниже определяется именованное @container правило и отображаются свойства связанного CSSContainerRule. CSS очень похож на тот, что в примере @container Создание контекстов именованных контейнеров.

Сначала мы определяем HTML для card (<div>) находящегося внутри post.

<div class="post">
  <div class="card">
    <h2>Card title</h2>
    <p>Card content</p>
  </div>
</div>

CSS для элемента контейнера задает тип контейнера и может также задать имя. Карточка имеет размер шрифта по умолчанию, который переопределяется для @container именованного sidebar если минимальная ширина больше 700px.

<style id="example-styles">
  .post {
    container-type: inline-size;
    container-name: sidebar;
  }

  /* Default heading styles for the card title */
  .card h2 {
    font-size: 1em;
  }

  @container sidebar (min-width: 700px) {
    .card {
      font-size: 2em;
    }
  }
</style>

Код ниже получает HTMLStyleElement ассоциированный с примером, используя его id, а затем использует его свойство sheet для получения StyleSheet. Из StyleSheet мы получаем набор cssRules добавленных в лист. Поскольку мы добавили @container как третье правило выше, мы можем получить связанное CSSContainerRule используя третий элемент (индекс "2") в cssRules. И наконец, мы выводим имя контейнера и запрошенные свойства (код, выполняющий вывод, не показан).

const exampleStylesheet = document.getElementById("example-styles").sheet;
const exampleRules = exampleStylesheet.cssRules;
const containerRule = exampleRules[2]; // a CSSContainerRule representing the container rule.
log(`CSSContainerRule.containerName: "${containerRule.containerName}"`);

Ниже показан пример вывода. В разделе лога перечислен контейнер имени. Размер заголовка в карточке должен удваиваться, когда ширина страницы превышает 700px.

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

Спецификация
CSS Правила условных модулей, Уровень 5
# dom-csscontainerrule-containername

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

Рабочий стол Мобильное устройство
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
containerName 111 111 110 97 17 111 110 75 17 22.0 111

См. также

  • CSS container сокращенное свойство
  • CSS модуль ограничения
  • Запросы к контейнерам
  • Использование запросов к размеру и стилю контейнера

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSSContainerRule/containerName

Spec-Zone.ru

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