пн-пт 9:00 — 18:00
г. Тула, ул. Некрасова, 7, оф. 315
1376
Время чтения: 9 минут
Кнопка — это не просто «нажми». Это точка принятия решения. По данным Яндекс.Метрики, кнопки с анимацией при клике повышают вовлечённость на 71%, а конверсию — на 46%. В 2025 году статичные кнопки — прошлый век. Пользователи ждут обратной связи: клик → эффект → действие. Покажем, как сделать кнопку с ripple-эффектом (волна от точки клика) — только HTML, CSS и минимум JS. Адаптивно, доступно, без библиотек. Полный код, демо, 3 варианта и чек-лист.
При клике:
offsetX/Y)<span> в точке кликаЭффект — чистый CSS + JS. Работает на всех устройствах.
<a href="https://example.com" class="ripple-btn" aria-label="Заказать звонок">
Заказать звонок
</a>
.ripple-btn {
position: relative;
display: inline-flex;
justify-content: center;
align-items: center;
min-width: 260px;
height: 56px;
padding: 12px 32px;
font-family: 'Inter', sans-serif;
font-weight: 600;
font-size: 18px;
text-transform: uppercase;
letter-spacing: 1.5px;
color: #fff;
background: linear-gradient(135deg, #1e40af, #1e3a8a);
border: none;
border-radius: 28px;
cursor: pointer;
overflow: hidden;
text-decoration: none;
transition: all 0.3s ease;
box-shadow: 0 4px 16px rgba(30, 64, 175, 0.3);
}
.ripple-btn:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(30, 64, 175, 0.4);
}
.ripple-btn:active {
transform: translateY(1px);
}
.ripple-btn span {
position: absolute;
background: rgba(255, 255, 255, 0.6);
border-radius: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
animation: ripple 0.8s ease-out;
}
@keyframes ripple {
from {
width: 0;
height: 0;
opacity: 0.7;
}
to {
width: 600px;
height: 600px;
opacity: 0;
}
}
/* Адаптивность */
@media (max-width: 480px) {
.ripple-btn {
min-width: 220px;
height: 48px;
font-size: 16px;
padding: 10px 24px;
}
}
document.querySelectorAll('.ripple-btn').forEach(btn => {
btn.addEventListener('click', function(e) {
const x = e.offsetX;
const y = e.offsetY;
const ripple = document.createElement('span');
ripple.style.left = x + 'px';
ripple.style.top = y + 'px';
this.appendChild(ripple);
setTimeout(() => ripple.remove(), 800);
});
});
| Эффект | Код | Для чего |
|---|---|---|
| Ripple (волна) | span + @keyframes | CTA, формы |
| Pulse (пульсация) | box-shadow | Акции |
| Bounce (прыжок) | transform: scale | Игры |
Вы будете получать статьи по нашим направлениям, советы и кейсы предпринимателей
Только для hover. Для клика — нужен JS.
Да. querySelectorAll обрабатывает все.
Хотите кнопки, которые конвертят? Закажите сайт с анимацией — UX, конверсия, скорость.
Расскажем как написать анимированный индикатор для пунктов меню на сайте. Так портал станет более интерактивным и привлекательным для пользователей.
В данном уроке будем стилизовать текст для объявлений об акции. Необходимо сделать так, чтобы наше объявление привлекло потенциальных покупателей
Популярность нейросетей в 2025 году набирает обороты. Нет, они не заменяют полноценных специалистов. Зато существенно упрощают и ускоряют работу тех же копирайтеров, сеошников и дизайнеров.
Сегодня мы расскажем, какие нейросети можно использовать в работе, разберем их функционал и приведем примеры генерации.
*Условия акции: получить приз можно после заключения договора и реализации заказанной услуги.