CSS и вёрстка

Как масштабировать картинку в CSS

Как масштабировать картинку в CSS 📅 ⏱ 22:07 ⏳ 1 мин 💬 0

Как масштабировать картинку в css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрыва

Как масштабировать картинку в CSS

Коротко: масштабировать картинку в CSS можно тремя способами: задать размеры, вписать в блок (object-fit) или «зумить» при наведении (transform). Главное — не искажать пропорции.

Кому и зачемНужно для карточек товаров, галерей, обложек статей. Покажем, как получить ровные превью и не «размыть» картинку.

Три способа



CSS
img { width: 300px; height: auto; }   /* высота по пропорции */
img { max-width: 100%; height: auto; } /* адаптив */

Указывайте только одну сторону — вторая подстроится.

CSS
.thumb { width: 300px; height: 200px; overflow: hidden; }
.thumb img { width: 100%; height: 100%; object-fit: cover; }

cover — заполнить с обрезкой (обложки). contain — вписать целиком (логотипы, схемы).

CSS
.thumb img { transition: transform .3s; }
.thumb:hover img { transform: scale(1.08); }

Визуальное увеличение без сдвига соседей.

Практика: три задачи

1. Ровные плитки в галерее

  1. Контейнеру задайте aspect-ratio: 1 / 1.
  2. Картинке — width:100%; height:100%; object-fit: cover.
  3. Проверьте разные ориентации фото.

2. Не «размывать» на ретине

CODE
<img src="photo@2x.jpg" width="300" alt="">

Для чёткости используйте изображение в 2× размере (или srcset).

3. Адаптивная обложка статьи

CSS
.cover { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
Главная ошибкаЗадать width и height одновременно без object-fit — картинка исказится (сплющится/растянется).

Частые ошибки: причина → решение

Симптом Причина Решение
Картинка размытая файл меньше выводимого размера использовать 2× или srcset
Искажена обе стороны без object-fit убрать одну сторону
Выходит за экран нет max-width max-width:100%
Плитки «прыгают» разные пропорции фото aspect-ratio + cover

Проверьте себя

Чек-лист




Что делает object-fit: cover?




Вопросы и ответы

cover — заполнить блок с обрезкой (обложки). contain — вписать целиком (логотипы, схемы).

Исходник меньше выводимого размера. Используйте версию 2× или srcset.

aspect-ratio одинаковый + object-fit: cover — плитки будут ровными.

transform: scale(1.05–1.1) + transition, контейнер с overflow: hidden.

Итоги

  • Размеры — одна сторона + auto.
  • Кадрирование — object-fit: cover.
  • Эффект — transform: scale().
  • Всегда max-width:100% и не искажайте пропорции.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

Пока комментариев нет — будьте первым, кто поделится мнением.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость