CSS и вёрстка

Как сделать градиент поверх картинки css

📅 ⏱ 06:00 ⏳ 1 мин 💬 0

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

Коротко: градиент поверх картинки делают двумя способами. Через несколько фонов: сначала linear-gradient с прозрачностью, затем url(...) — верхний слой в списке рисуется поверх. Или через псевдоэлемент ::after с градиентом поверх <img>. Градиент нужен, чтобы текст на фото оставался читаемым.

Кому и зачемСветлое фото + белый заголовок = нечитаемо. Затемняющий градиент снизу решает проблему и при этом сохраняет изображение видимым. Это стандартный приём в герой-блоках и карточках.

Два подхода

Подход Когда использовать
Несколько фонов у одного блока картинка как фон секции
Псевдоэлемент поверх img картинка вставлена тегом

Вкладки: примеры




CSS
.hero {
  background:
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.35)),
    url("hero.jpg") center / cover no-repeat;
}

Первый слой — градиент (верхний), второй — картинка. Обратите внимание: сначала перечисляется то, что ближе к зрителю.

CSS
.card { position: relative; }
.card img { display: block; width: 100%; }
.card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.6));
}

Псевдоэлемент накладывается поверх всей карточки. Текст внутри получит тёмную подложку снизу — заголовок станет читаемым.

CSS
.overlay-text {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 16px;
  color: #fff;
  background: linear-gradient(0deg, rgba(0,0,0,.7), transparent);
}

Вариант «плашки» под текстом: градиент только в нижней части. Такой приём часто используют в новостных карточках.

CSS
.tint {
  background: linear-gradient(135deg, #003F8F, #992222);
  mix-blend-mode: multiply;
}

mix-blend-mode «смешивает» градиент с подложкой — получается цветной эффект поверх фото. Значения: multiply, screen, overlay. Проверяйте читаемость и контраст.

Ставьте на читаемостьЦель градиента — контраст текста, а не «красивость». Проверьте: если текст теряется, усильте затемнение в той части, где он находится.

Практика: герой-блок с текстом

  1. Задайте секции background-image с cover.
  2. Добавьте первым слоем градиент с прозрачностью.
  3. Текст разместите поверх (grid/flex центрирование).
  4. Проверьте контраст заголовка и кнопки.
  5. На мобильном уменьшите высоту и проверьте, что текст не обрезан.

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

Симптом Причина Решение
Градиент не виден порядок слоёв неверный градиент — первым в списке
Картинка пропала её перебил background-шорткат задать слои вместе
::after перекрывает текст нет z-index у текста поднять текст выше
Текст не читается градиент слишком слабый усилить затемнение

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

Чек-лист




Какой слой в списке background рисуется сверху?




Зачем нужен градиент поверх фото?




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

Уменьшите непрозрачность цвета в градиенте: rgba(0,0,0,.4) вместо .8. И затемняйте только ту часть, где текст.

Задайте градиент из цветов бренда и поиграйте с mix-blend-mode (multiply, overlay), чтобы получить «тонирование».

Плавно менять цвета градиента напрямую нельзя, но можно анимировать opacity слоя с градиентом — эффект «проявления».

Градиентом linear-gradient(180deg, transparent 45%, rgba(0,0,0,.7)) — тёмным становится только нижняя часть.

Итоги

  • Градиент поверх фото — первым слоем в background.
  • Для тега <img> — псевдоэлемент ::after с inset: 0.
  • Затемняйте область под текстом, а не всё фото.
  • Проверяйте контраст текста — это главная цель приёма.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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