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

CSS aspect-ratio — синтаксис и примеры

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

Назначение и границы

Практический смысл «aspect-ratio» связан с тем, чтобы задавать внешние или внутренние размеры и управлять местом для содержимого. Задаёт предпочтительное соотношение ширины и высоты бокса. Контрольная проверка «aspect-ratio» проходит в учебном примере без внешнего фреймворка, а наблюдаемой точкой служит размер содержащего блока в Layout.

Практическое правило для aspect-ratio

Для «aspect-ratio» сначала проверьте взаимодействие с явно заданными размерами и реальным содержимым. После этого сравните исходное и изменённое состояние «aspect-ratio» на одном и том же содержимом.

Синтаксис aspect-ratio

Для демонстрации «aspect-ratio» используется короткий код с наблюдаемым результатом. Сохраните структуру примера, когда будете проверять другое значение.

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

Как работает 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

01

Контекст

Соотношение сторон не гарантирует размер, если обе оси жёстко определены — это предметный риск для «aspect-ratio».

02

Устойчивость

Подмена семантики визуально похожим div или span при использовании «aspect-ratio».

03

Доступность

Использование !important вместо разбора каскада; для «aspect-ratio» проверьте это отдельно.

Поддержка aspect-ratio

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

Chromeс версии 88Edgeс версии 88Firefoxс версии 89Safariс версии 15

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

Вопросы о aspect-ratio

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

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

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

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

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

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