CSS-свойствоВ стандарте

CSS contain-intrinsic-size — синтаксис и примеры

CSS-свойство contain-intrinsic-size: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Практический смысл

Для «contain-intrinsic-size» важно отделить назначение от случайного оформления. Свойство contain-intrinsic-size относится к области «раскладка и позиционирование» и может создавать новый контекст форматирования, содержащий блок или уровень наложения. При проверке в компоненте внутри узкого контейнера, а не viewport сначала зафиксируйте перестроение при смене writing-mode для «contain-intrinsic-size», затем используйте нативное действие вместо имитации клика.

Практическое правило для contain-intrinsic-size

Проверяя «contain-intrinsic-size», соблюдайте правило: проверяйте contain-intrinsic-size вместе с родительским контекстом и соседними правилами. Для «contain-intrinsic-size» изменяйте одно условие за запуск и фиксируйте фактический результат.

Синтаксис contain-intrinsic-size

Минимальная запись «contain-intrinsic-size» нужна для отделения самой возможности от стилей и разметки проекта. Проверьте фрагмент отдельно перед переносом.

css
.demo {
  contain-intrinsic-size: min(100%, 60rem);
}
Открыть в Playground

Как работает contain-intrinsic-size

Механика «contain-intrinsic-size» начинается с допустимого контекста и заканчивается наблюдаемым результатом. Свойство contain-intrinsic-size относится к области «раскладка и позиционирование» и может создавать новый контекст форматирования, содержащий блок или уровень наложения; для «contain-intrinsic-size» отдельно проверьте перестроение при смене writing-mode.

Проверка в проекте

  • Проверьте вычисленное значение contain-intrinsic-size, наследование и контекст родителя; результат относится непосредственно к «contain-intrinsic-size».
  • Проверить компонент внутри container query, не меняя размер окна при разборе «contain-intrinsic-size».
  • Проверьте «contain-intrinsic-size» в компоненте внутри узкого контейнера, а не viewport через перестроение при смене writing-mode и запишите наблюдаемое изменение.
Выбор конструкции

Оставляйте «contain-intrinsic-size» в решении только после проверки в компоненте внутри узкого контейнера, а не viewport. Если нативная конструкция решает задачу «contain-intrinsic-size» с меньшим числом условий, используйте её.

Практика с contain-intrinsic-size

Соберите «contain-intrinsic-size» в минимальном компоненте и проверьте предметное условие: проверьте вычисленное значение contain-intrinsic-size, наследование и контекст родителя. Затем для «contain-intrinsic-size» замените содержимое длинным и сузьте контейнер до 320 px.

раскладка и позиционированиеcontain-intrinsic-size

Сценарий: в компоненте внутри узкого контейнера, а не viewport.

Ошибки при работе с contain-intrinsic-size

01

Доступность

Изолированная декларация contain-intrinsic-size без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «contain-intrinsic-size».

02

Каскад

Использование физической стороны там, где нужен логический отступ при использовании «contain-intrinsic-size».

03

Поддержка

Оптимизация кода до проверки корректности и доступности; для «contain-intrinsic-size» проверьте это отдельно.

Поддержка contain-intrinsic-size

Для «contain-intrinsic-size» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «contain-intrinsic-size»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 83Edgeс версии 83Firefoxс версии 107Safariс версии 17

Спецификация: источник 1.

Вопросы о contain-intrinsic-size

Как понять, что «contain-intrinsic-size» выбрано правильно?

«contain-intrinsic-size» выбрано правильно, когда оно решает задачу «управлять местом элемента в потоке, его контекстом или взаимным расположением блоков», сохраняет результат в компоненте внутри узкого контейнера, а не viewport и проходит предметную проверку: проверьте вычисленное значение contain-intrinsic-size, наследование и контекст родителя.

Нужен ли запасной вариант для «contain-intrinsic-size»?

Запасной вариант для «contain-intrinsic-size» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «contain-intrinsic-size» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.