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

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

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

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

В материале о «background-size» основное внимание уделено области «размеры и блочная модель». Свойство background-size относится к области «размеры и блочная модель» и участвует в расчёте блочной модели с учётом режима письма, ограничений min/max и box-sizing. Проверяйте поведение «background-size» в компоненте внутри узкого контейнера, а не viewport, причём проверяйте и светлую, и тёмную цветовую схему.

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

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

Синтаксис background-size

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

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

Как работает background-size

Чтобы объяснить работу «background-size», проследите путь от структуры и входного значения до отображения или поведения. Свойство background-size относится к области «размеры и блочная модель» и участвует в расчёте блочной модели с учётом режима письма, ограничений min/max и box-sizing. Контрольная точка для «background-size» — перестроение при смене writing-mode.

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

  • Проверьте вычисленное значение background-size, наследование и контекст родителя; результат относится непосредственно к «background-size».
  • Увеличить текст до 200% и убедиться, что действия и подписи не обрезаются при разборе «background-size».
  • Проверьте «background-size» в компоненте внутри узкого контейнера, а не viewport через результат при системной тёмной теме и запишите наблюдаемое изменение.
Выбор конструкции

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

Практика с background-size

Создайте два варианта «background-size» на контрольной странице: корректный и с одной типичной ошибкой. Сравните варианты «background-size» через результат при системной тёмной теме и объясните различие.

размеры и блочная модельbackground-size

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

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

01

Контекст

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

02

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

Визуальное изменение порядка, не совпадающее с DOM и фокусом при использовании «background-size».

03

Доступность

Копирование свойства без необходимого родительского контекста; для «background-size» проверьте это отдельно.

Поддержка background-size

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

Chromeс версии 3Edgeс версии 12Firefoxс версии 4Safariс версии 5

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

Вопросы о background-size

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

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

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

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

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

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