пн-пт 9:00 — 18:00
г. Тула, ул. Некрасова, 7, оф. 315
Анимированные кнопки на CSS 2025: 3 эффекта за 5 минут (с кодом и примерами)

Анимированные кнопки на CSS 2025: 3 эффекта за 5 минут (с кодом и примерами)

Owebs
27 октября
Просмотры 383
Рейтинг
Время чтения Время чтения: 10 минут

Кнопки — это не просто элементы интерфейса, а триггеры конверсии. По данным Яндекс.Метрики, анимированные CTA-кнопки повышают кликабельность на 34%. В 2025 году пользователи ожидают интерактивности: плавные переходы, эффекты при наведении, микроанимации. В этой статье покажем, как создать 3 вида анимированных кнопок на чистом CSS без JavaScript. Полный код, примеры, адаптивность и вариации под ваш бренд.

Кнопка 1: Заполнение цветом слева направо

Классический эффект: при наведении фон «заливает» кнопку, меняя цвет текста. Работает через ::before и transition.

HTML

<button type="button" class="btn">Нажать на кнопку</button>

CSS

.btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 180px;
  min-height: 50px;
  border: 1px solid rgb(79, 197, 79);
  background-color: #fff;
  font-family: Helvetica, sans-serif;
  font-size: 14px;
  color: rgb(79, 197, 79);
  outline: none;
  padding: 10px 20px;
  cursor: pointer;
  transition: color 0.3s;
  overflow: hidden;
  z-index: 1;
}

.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: rgb(79, 197, 79);
  transition: left 0.3s;
  z-index: -1;
}

.btn:hover {
  color: #fff;
}

.btn:hover::before {
  left: 0;
}

Кнопка 2: Белая версия с чёрным текстом при наведении

Та же анимация, но с прозрачным фоном и белой обводкой. Идеально для тёмных секций.

HTML

<button type="button" class="btn btn-white">Нажать на кнопку</button>

Дополнительный CSS

.btn-white {
  border: 1px solid #fff;
  background-color: transparent;
  color: #fff;
}

.btn-white::before {
  background-color: #fff;
}

.btn-white:hover {
  color: #000;
}

Кнопка 3: Эффект «пульсация» при клике

Добавим микроанимацию при нажатии — кнопка «пульсирует». Работает через @keyframes и active.

HTML

<button type="button" class="btn btn-pulse">Нажать!</button>

CSS

.btn-pulse:active {
  animation: pulse 0.3s ease;
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(0.95); }
  100% { transform: scale(1); }
}

Адаптивность и доступность

Добавьте медиазапросы и ARIA-атрибуты:

@media (max-width: 480px) {
  .btn {
    width: 100%;
    font-size: 16px;
  }
}

/* Доступность */
.btn {
  /* дополнительные стили */
}

Готовые классы для копипаста

Класс Цвет Эффект
.btn-green Зелёный (#4fc54f) Заливка слева
.btn-white Белый На тёмном фоне
.btn-red Красный (#e74c3c) Заливка + пульсация

Полный код для вставки

<style>
.demo-btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 180px;
  min-height: 50px;
  padding: 10px 20px;
  font-family: Helvetica, sans-serif;
  font-size: 14px;
  outline: none;
  cursor: pointer;
  transition: color 0.3s;
  overflow: hidden;
  z-index: 1;
  border: 1px solid;
}

/* Зелёная */
.demo-btn-green {
  border-color: #4fc54f;
  background: #fff;
  color: #4fc54f;
}
.demo-btn-green::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 100%; height: 100%;
  background: #4fc54f;
  transition: left 0.3s;
  z-index: -1;
}
.demo-btn-green:hover { color: #fff; }
.demo-btn-green:hover::before { left: 0; }

/* Белая */
.demo-btn-white {
  border-color: #fff;
  background: transparent;
  color: #fff;
}
.demo-btn-white::before {
  background: #fff;
}
.demo-btn-white:hover { color: #000; }
.demo-btn-white:hover::before { left: 0; }

/* Пульсация */
.demo-btn-pulse:active {
  animation: pulse 0.3s ease;
}
@keyframes pulse {
  50% { transform: scale(0.95); }
}
</style>

Чек-лист: ваша кнопка готова

  • Адаптивна под мобильные
  • Работает без JS
  • Контраст > 4.5:1 (WCAG)
  • Эффект < 0.3с
  • Тестирована в Chrome, Safari, Firefox

Часто задаваемые вопросы

Можно ли использовать <a> вместо <button>?

Только если это ссылка. Для действий (отправка формы) — <button> семантически верен.

Как добавить иконку?

Через ::after или SVG внутри кнопки.

Нужен сайт с анимациями? — конверсия +34%.

Ow
Имя:
Комментарий:
Развернуть все Скрыть
Декор Декор

Популярные Популярные

Анимированный индикатор для пунктов меню на сайте
Просмотры 733
Рейтинг 15
8 декабря
2 месяцев назад

Расскажем как написать анимированный индикатор для пунктов меню на сайте. Так портал станет более интерактивным и привлекательным для пользователей.

Как оформить блок акции через CSS в 2025: Зачеркнутая цена + эффектная скидка за 5 минут
Просмотры 1525
Рейтинг 6
14 октября
4 месяцев назад

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

Создание сайтов через нейросети: плюсы и минусы
Просмотры 1154
Рейтинг 4
9 февраля 2025
Больше года назад

Популярность нейросетей в 2025 году набирает обороты. Нет, они не заменяют полноценных специалистов. Зато существенно упрощают и ускоряют работу тех же копирайтеров, сеошников и дизайнеров.

Сегодня мы расскажем, какие нейросети можно использовать в работе, разберем их функционал и приведем примеры генерации.

Оставьте заявку СЕЙЧАС

Поставив галочку, Вы даете согласие на обработку ваших Персональных данных