Spec-Zone.ru › CSS

contain-intrinsic-height

Baseline 2023

Новое

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

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

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

Синтаксис

/* Keyword values */
contain-intrinsic-height: none;

/* <length> values */
contain-intrinsic-height: 1000px;
contain-intrinsic-height: 10rem;

/* auto <length> */
contain-intrinsic-height: auto 300px;

/* Global values */
contain-intrinsic-height: inherit;
contain-intrinsic-height: initial;
contain-intrinsic-height: revert;
contain-intrinsic-height: revert-layer;
contain-intrinsic-height: unset;

Значения

Для элемента могут быть заданы следующие значения.

none

У элемента нет внутренней высоты.

<length>

У элемента задана высота (<length>).

auto <length>

Запомненное значение высоты элемента в "обычном" режиме отрисовки, если оно существует, и элемент пропускает своё содержимое (например, когда он не отображается на экране); в противном случае заданное <length>.

Описание

Свойство обычно применяется вместе с элементами, которые могут вызывать содержание размеров, такими как contain: size и content-visibility, а также может быть установлено с помощью contain-intrinsic-size сокращённого свойства.

Содержание размеров позволяет пользовательскому агенту выводить элемент так, как будто у него есть фиксированный размер, предотвращая ненужные перерисовки, избегая повторного рендеринга дочерних элементов для определения фактического размера (чтобы улучшить пользовательский опыт). По умолчанию, содержание размеров рассматривает элементы так, как будто у них нет содержимого, и может обрезать макет таким же образом, как если бы содержимое не имело высоты (или ширины). Свойство contain-intrinsic-height позволяет авторам указать подходящее значение, которое будет использоваться в качестве высоты для макета.

Значение auto <length> позволяет сохранить высоту элемента, если элемент когда-либо отображается в "обычном" режиме (с его дочерними элементами), а затем используется вместо заданной высоты, когда элемент пропускает своё содержимое. Это позволяет элементам, не отображаемым на экране, с content-visibility: auto, получить выгоду от содержания размеров, не требуя от разработчиков такой точности при оценке размера элемента. Запомненное значение не используется, если дочерние элементы рендерятся (если содержание размеров включено, будет использовано <length>).

Формальное определение

Начальное значение none
Применимо к элементы, для которых может применяться содержание размеров
Наследуется нет
Вычисляемое значение как указано, с вычисленными значениями <length>
Тип анимации по типу вычисляемого значения

Формальный синтаксис

contain-intrinsic-height = 
auto? [ none | <length> ]

Примеры

Помимо примера ниже, на странице contain-intrinsic-size представлен интерактивный пример, который демонстрирует влияние изменения внутренней ширины и высоты.

Установка внутренней высоты

В приведенном ниже HTML определен элемент "contained_element", который будет ограничен по размеру и содержит дочерний элемент.

<div id="contained_element">
  <div class="child_element"></div>
</div>

В приведенном ниже CSS устанавливается content-visibility для contained_element в auto, поэтому, если элемент скрыт, он будет ограничен по размеру. Ширина и высота, которые используются при ограничении по размеру, устанавливаются одновременно с помощью contain-intrinsic-width и contain-intrinsic-height соответственно.

#contained_element {
  border: 2px solid green;
  width: 151px;
  content-visibility: auto;
  contain-intrinsic-width: 152px;
  contain-intrinsic-height: 52px;
}
.child_element {
  border: 1px solid red;
  background: blue;
  height: 50px;
  width: 150px;
}

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

Спецификация
CSS Модуль размеров блоков уровень 4
# propdef-contain-intrinsic-height

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

Стол Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
contain-intrinsic-height 95 95 107 81 17 95 107 67 17 17.0 95
none 98 98 107 84 17 98 107 68 17 18.0 98

См. также

  • content-visibility: новое CSS свойство, которое повышает производительность рендеринга (web.dev)
  • contain-intrinsic-size
  • contain-intrinsic-width
  • contain-intrinsic-block-size
  • contain-intrinsic-inline-size

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

Spec-Zone.ru

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