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-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;
}
Спецификации
Совместимость с браузерами
| Стол | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
См. также
© 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