CSS aspect-ratio — синтаксис и примеры
CSS-свойство aspect-ratio: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.
Назначение и границы
Практический смысл «aspect-ratio» связан с тем, чтобы задавать внешние или внутренние размеры и управлять местом для содержимого. Задаёт предпочтительное соотношение ширины и высоты бокса. Контрольная проверка «aspect-ratio» проходит в учебном примере без внешнего фреймворка, а наблюдаемой точкой служит размер содержащего блока в Layout.
Для «aspect-ratio» сначала проверьте взаимодействие с явно заданными размерами и реальным содержимым. После этого сравните исходное и изменённое состояние «aspect-ratio» на одном и том же содержимом.
Синтаксис aspect-ratio
Для демонстрации «aspect-ratio» используется короткий код с наблюдаемым результатом. Сохраните структуру примера, когда будете проверять другое значение.
.demo {
aspect-ratio: min(100%, 60rem);
}Как работает aspect-ratio
Браузер обрабатывает «aspect-ratio» в контексте области «размеры и блочная модель»: задаёт предпочтительное соотношение ширины и высоты бокса. Для «aspect-ratio» наблюдения через размер содержащего блока в Layout и результат при системной тёмной теме отделяют исходное условие от результата.
Проверка в проекте
- Проверьте взаимодействие с явно заданными размерами и реальным содержимым; результат относится непосредственно к «aspect-ratio».
- Сопоставить DOM-порядок с визуальным порядком после раскладки при разборе «aspect-ratio».
- Проверьте «aspect-ratio» в учебном примере без внешнего фреймворка через размер содержащего блока в Layout и запишите наблюдаемое изменение.
Оставляйте «aspect-ratio» в решении только после проверки в учебном примере без внешнего фреймворка. Если нативная конструкция решает задачу «aspect-ratio» с меньшим числом условий, используйте её.
Практика с aspect-ratio
Создайте два варианта «aspect-ratio» в рабочем фрагменте интерфейса: корректный и с одной типичной ошибкой. Сравните варианты «aspect-ratio» через размер содержащего блока в Layout и объясните различие.
Сценарий: в учебном примере без внешнего фреймворка.
Ошибки при работе с aspect-ratio
Контекст
Соотношение сторон не гарантирует размер, если обе оси жёстко определены — это предметный риск для «aspect-ratio».
Устойчивость
Подмена семантики визуально похожим div или span при использовании «aspect-ratio».
Доступность
Использование !important вместо разбора каскада; для «aspect-ratio» проверьте это отдельно.
Поддержка aspect-ratio
Для «aspect-ratio» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «aspect-ratio»; окончательное решение принимайте по аудитории конкретного проекта.
Спецификация: источник 1.
Вопросы о aspect-ratio
Как понять, что «aspect-ratio» выбрано правильно?
«aspect-ratio» выбрано правильно, когда оно решает задачу «задавать внешние или внутренние размеры и управлять местом для содержимого», сохраняет результат в учебном примере без внешнего фреймворка и проходит предметную проверку: проверьте взаимодействие с явно заданными размерами и реальным содержимым.
Нужен ли запасной вариант для «aspect-ratio»?
Запасной вариант для «aspect-ratio» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «aspect-ratio» должно сохранять смысл, содержимое и основное действие.
Спецификации и источники
Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.