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» нужна для отделения самой возможности от стилей и разметки проекта. Проверьте фрагмент отдельно перед переносом.
.demo {
contain-intrinsic-size: min(100%, 60rem);
}Как работает 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.
Сценарий: в компоненте внутри узкого контейнера, а не viewport.
Ошибки при работе с contain-intrinsic-size
Доступность
Изолированная декларация contain-intrinsic-size без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «contain-intrinsic-size».
Каскад
Использование физической стороны там, где нужен логический отступ при использовании «contain-intrinsic-size».
Поддержка
Оптимизация кода до проверки корректности и доступности; для «contain-intrinsic-size» проверьте это отдельно.
Поддержка contain-intrinsic-size
Для «contain-intrinsic-size» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «contain-intrinsic-size»; окончательное решение принимайте по аудитории конкретного проекта.
Спецификация: источник 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. Примеры и объяснения подготовлены для этого сервиса.