Урок 36. Справочник: Адаптивные изображения: srcset, sizes, picture

📁 Раздел: Адаптивная вёрстка ⏱️ Время изучения: ~75 мин 🎯 Сложность: Средняя
#srcset #sizes #picture #source #media #type #img #object-fit #object-position #contain #fill

⚡ Кратко

Атрибуты и теги урока: srcset (список файлов), sizes (CSS-размер), <picture>/<source> (условные источники), object-fit (заполнение блока). Дескрипторы: w — ширина файла, x — плотность экрана.

Атрибуты и теги

ИнструментЗачем нуженМини-пример
srcsetСписок доступных файлов изображенияsrcset="hero-480.webp 480w, hero-960.webp 960w"
sizesОжидаемый CSS-размер изображения по условиямsizes="(min-width: 64rem) 50vw, 100vw"
дескриптор wРеальная ширина файла в пикселяхhero-960.jpg 960w
дескриптор xФайл для экрана с данным DPRlogo@2x.png 2x
<picture>Контейнер для разных источников<picture>…</picture>
<source>Условный источник (по media или type)<source type="image/webp" srcset="hero.webp">
mediaУсловие экрана для art directionmedia="(min-width: 64rem)"
typeMIME-формат для выбора WebP/AVIFtype="image/avif"
<img> (fallback)Базовый источник + alt, если source не подошёл<img src="hero.jpg" alt="…" width="960" height="640">
object-fitКак картинка заполняет блок фикс. размераobject-fit: cover;
object-positionКакую часть картинки оставить при coverobject-position: top;

object-fit — значения

ЗначениеПоведение
coverЗаполняет блок без полей, обрезая лишнее (чаще всего)
containВписывает картинку целиком, возможны поля
fillРастягивает под блок, искажая пропорции (по умолчанию)
none / scale-downБез масштаба / меньшее из none и contain
Правило выбора: один файл меняет размер по вёрстке → srcset+sizes; нужен другой кадр под экран → <picture media>; нужны WebP/AVIF → <source type>.

Навигация