Добавьте размеры без потери адаптивности
Получите ширину и высоту исходного файла или метаданных CMS, укажите их как безразмерные числовые атрибуты и оставьте адаптивный размер CSS. Исправляйте общий компонент, затем проверьте страницу с отключёнными изображениями.
Сообщение разработчику
«Для каждого повторяющегося img получите естественные размеры из файла или медиатеки и выводите оба числовых атрибута width/height. Сохраните адаптивность через max-width:100%; height:auto. Для picture проверьте пропорции всех source, для art direction зарезервируйте корректный контейнер. Покажите тест без кеша и с заблокированными изображениями на desktop/mobile».
Что подготовить
- резервную копию шаблонов и настройки медиатеки;
- примеры каждого типа изображения и его исходный файл;
- контрольные страницы на двух ширинах экрана;
- текущие CSS-правила для
img, контейнера иpicture.
Пошаговое исправление
- Найдите
imgбез одного или обоих атрибутов в отрисованном HTML. - Получите пиксельные размеры исходника или выбранного основного варианта из медиатеки.
- Добавьте числовые атрибуты без
px; их отношение должно совпадать с изображением. - Добавьте или сохраните CSS
max-width:100%иheight:auto, если картинка должна уменьшаться. - Для
srcsetс width descriptors проверьтеsizes; варианты одной композиции должны иметь одинаковое соотношение. - Для разных кадрирований в
pictureнастройте резервирование контейнера по брейкпоинтам иobject-fitпри необходимости. - Исправьте общий компонент CMS, очистите кеш и проверьте новые материалы.
- Заблокируйте загрузку изображений и убедитесь, что макет сохраняет место без горизонтальной прокрутки.
Правильный адаптивный пример
<img src="photo-1200.jpg"
srcset="photo-600.jpg 600w, photo-1200.jpg 1200w"
sizes="(max-width: 760px) 100vw, 760px"
width="1200" height="800"
alt="Понятное описание изображения">img { max-width: 100%; height: auto; }Атрибуты сообщают отношение 3:2; реальная ширина может быть 760px, 100% контейнера или меньше.
Риски, откат и отдельные работы
Неверное отношение сторон может исказить резервируемое место или вызвать новый сдвиг после загрузки. При проблеме восстановите шаблон, очистите кеш и сравните реальные файлы. Для динамических изображений не хардкодьте одну пару размеров для разных пропорций.
После изменения используйте инструкцию проверки. Форматы, сжатие, lazy loading, LCP, фоновые изображения и сторонние виджеты — отдельные задачи. При сложном генераторе можно заказать исправление.