Анимация нажатия на сердечко на CSS

21.06.2022
Содержание:

Всем привет, в новой записи, я вам покажу готовую анимацию нажатия на сердечко на CSS. Данная анимация подойдёт для размещения под постами или для размещения в качестве кнопки для добавления в избранно в интернет-магазине.

Кнопка состоит из HTML элемента, CSS кода для анимации и изображения с кадрами анимации.

Картинка для анимации

HTML

<div class="iconHeart"></div>

CSS

.iconHeart {
  width: 100px;
  height: 100px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: url("https://prog-time.ru/wp-content/uploads/2022/06/img_favorite_icon.png") no-repeat;
  background-position: 0 0;
  cursor: pointer;
  animation: fave-heart 1s steps(28);
}
.iconHeart:hover {
  background-position: -2800px 0;
  transition: background 1s steps(28);
}
@keyframes fave-heart {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -2800px 0;
  }
}

Активация при нажатии на сердечко

CSS

.iconHeart {
    width: 100px;
    height: 100px;
    position: absolute;
    left: auto;
    right: -10px;
    top: -20px;
    transform: translate(0%, 0%);
    background: url("http://bintaga.ru/local/templates/bintaga/images/icons/img_favorite_icon.png") no-repeat;
    background-position: 0 0;
    cursor: pointer;
}

.iconHeart.active {
    background-position: -2800px 0;
    transition: background 1s steps(28);
    animation: fave-heart 1s steps(28);
}

@keyframes fave-heart {
    0% {
	background-position: 0 0;
    }
    100% {
	background-position: -2800px 0;
    }
}

JavaScript

$(".favoriteBut").on("click", function() {
    $(this).addClass("active")
    $(this).find(".scattering").addClass("active")
})
На этом всё!
Больше интересных статей в нашей группе - https://vk.com/progtime
Вы так же можете разместить свой вопрос на нашем форуме, где другие программисты смогут вам помочь в решение вашей задачи - https://vk.com/prog_time
Так же прокачивайте свои навыки на нашем канале - https://www.youtube.com/c/ProgTime
Наши планы
  • Написание материала для курса по разработке ботов на Telegram
  • Разработка универсального парсера на PHP

Поддержите мой сайт!

Каждый переведённый донат, мотивирует на создание новых записей и уроков на YouTube