Смена фото градиентом при наведении — новое фото проявляется мягкой полосой
При наведении на карточку второе фото проявляется поверх первого через мягкую полосу градиента, а когда курсор уходит, полоса идёт обратно. Направление и мягкость полосы настраиваются. CSS-маска и несколько строк JavaScript.
Вставьте код в чат ИИ-агента и напишите: «Сделай мне такой эффект на сайте». Инструкция для агента уже внутри.
Что это за эффект
В карточке два фото, одно над другим. Наведите курсор: по карточке проходит мягкая полоса градиента, и за ней проявляется второе фото. Новое фото при этом чуть приближено и плавно успокаивается до обычного размера. Уберите курсор, и полоса пройдёт обратно, возвращая первое фото.
Полоса может идти сверху вниз, снизу вверх, слева направо, справа налево или по диагонали. Её ширину можно менять: от резкого края до широкого мягкого перехода. Эффект сделан по мотивам карточек на kuro-coffee-template.modulify.website.
Где использовать
- Товар до и после: упаковка и товар в деле, интерьер днём и вечером.
- Портфолио: обложка проекта и кадр изнутри.
- Команда: официальное фото и неформальное.
Как добавить на сайт
Через ИИ-агента — самый простой путь. Эти эффекты сделаны в первую очередь для тех, кто собирает сайт вместе с ИИ-агентом: Claude Code, Cursor или любым другим. Настройте эффект на примере выше, нажмите «Скопировать код» и вставьте его в чат агента с одной фразой: «Сделай мне такой эффект на сайте». В скопированном коде уже есть описание эффекта и инструкция для агента. Он сам перенесёт стили, разметку и скрипт и подставит ваши фото. Ваши настройки сохранятся.
Вручную. «Скачать код» даёт готовую HTML-страницу с вашими настройками. «Скопировать код» копирует только стили, разметку и скрипт. Скрипт без зависимостей.
<a class="card" href="/project/" data-swap-card>
<img data-swap-from src="cover.jpg" alt="Обложка проекта">
<img data-swap-to src="inside.jpg" alt="">
</a>
createGradientSwap(document.querySelector('.cards'), { direction: 'down', soft: 40 });
Настройки
- Направление — куда идёт полоса.
- Мягкость полосы — насколько широк размытый переход. При нуле край резкий.
- Длительность — время, за которое полоса проходит карточку.
- Увеличение — с какого масштаба новое фото успокаивается до обычного.
Доступность и производительность
Карточка остаётся обычной ссылкой, и фото меняется и от фокуса с клавиатуры. Если в системе включено «Уменьшить движение», фото меняется сразу. Анимацию ведёт сам браузер: скрипт только задаёт настройки и отмечает карточку под курсором, кадров он не считает.
Частые вопросы
В каких браузерах работает? Во всех современных: Chrome, Safari, Firefox и Edge. Нужна поддержка @property, она есть везде с 2023–2024 года. В старых браузерах фото просто сменится без полосы.
Работает ли на телефоне? Да, фото меняется при касании карточки.
Другие эффекты
- [ Наведение ] Веер карточек Карточки лежат веером под случайными углами. При наведении карточка выпрямляется и увеличивается, а соседние отъезжают в стороны. Живой пример, настройки и код без библиотек.
- [ Наведение ] Список с наведением Строки списка, разделённые тонкими линиями. Под строкой с курсором проезжает плашка, название и значение сдвигаются навстречу. Подходит для прайсов, меню и списков услуг.
- [ Наведение ] Ссылки и кнопки Пять эффектов наведения для ссылок и кнопок — перекат слова, перетекание букв, рисующееся подчёркивание, кнопка со стрелкой и кнопка-колесо. Настройки и готовый код.