CSS и вёрстка

Как расположить картинку в css

📅 ⏱ 22:05 ⏳ 1 мин 💬 0

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

Коротко: картинку в CSS располагают по центру, прижимают влево/вправо или ставят поверх блока. Способ зависит от контекста: картинка в тексте, в отдельном блоке или как фон.

Кому и зачемПригодится в статьях, карточках товаров, галереях. Разберём, как выровнять и не исказить картинку, и как не сломать адаптив.

Четыре ситуации

Ситуация Инструмент
Картинка в тексте text-align у родителя или margin: 0 auto
Картинка-блок display: block + margin: 0 auto
Прижать вбок flex justify-content или float
Поверх блока position: relative/absolute

Вкладки: способы с кодом



CSS
img {
  display: block;      /* обязательное условие */
  margin: 0 auto;      /* центрирование */
  max-width: 100%;     /* адаптив */
}

Если картинка внутри абзаца (inline) — центрируйте через text-align: center у родителя.

CSS
.photo-left  { float: left;  margin: 0 16px 16px 0; }
.photo-right { float: right; margin: 0 0 16px 16px; }

Современная альтернатива — flex у контейнера: justify-content: flex-start|flex-end.

CSS
.card { position: relative; }
.card img { display: block; width: 100%; }
.card .label { position: absolute; left: 12px; bottom: 12px; color: #fff; }

Так делают бейджи и подписи поверх изображения. Для читаемости добавьте затемнение.

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

1. Картинка по центру текста статьи

  1. Задайте img { display:block; margin: 0 auto; max-width: 100%; }.
  2. Добавьте отступы сверху и снизу для «воздуха».
  3. Проверьте, что картинка не растянулась.

2. Обтекание текстом

CSS
img.align-left { float: left; margin: 0 16px 8px 0; }

Не забывайте: после обтекаемых картинок поток может «поехать». Надёжнее — flex/grid.

3. Картинка-фон с текстом

CSS
.hero {
  background: url('cover.jpg') center/cover no-repeat;
  min-height: 320px;
  display: flex; align-items: flex-end; padding: 24px;
  color: #fff;
}
Главная ошибка новичкаЗадают width и height одновременно — картинка искажается. Указывайте только одну сторону или добавляйте object-fit.

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

Симптом Причина Решение
Не центрируется display: inline display: block
Картинка «вылезает» за экран нет max-width max-width:100%
Искажена заданы обе стороны без object-fit убрать одну сторону
Поток «поехал» после float не очищено обтекание flex/grid вместо float

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

Чек-лист




Почему margin: 0 auto не центрирует картинку?




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

Родителю position: relative, тексту — position: absolute и смещения; для читаемости — затемнение.

object-fit: cover у картинки и фиксированный размер контейнера.

Смысловые картинки — img (учитываются поиском). Декор — background.

Не задана ширина, и картинка выводится в «натуральном» размере. Добавьте width: 100% внутри контейнера.

Итоги

  • Центр — display:block + margin:0 auto.
  • Вбок — flex (или float).
  • Поверх — relative + absolute.
  • Всегда max-width: 100% и сохраняйте пропорции.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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