Files
30-seconds-of-code/snippets/button-focus-swing-animation.md
2022-06-09 12:11:34 +03:00

1.1 KiB

title, tags, expertise, author, cover, firstSeen, lastUpdated
title tags expertise author cover firstSeen lastUpdated
Button swing animation animation intermediate chalarangelo blog_images/painters-desk.jpg 2021-05-24T15:28:52+03:00 2021-05-24T15:28:52+03:00

Creates a swing animation on focus.

  • Use an appropriate transition to animate changes to the element.
  • Use the :focus pseudo-class to apply an animation that uses transform to make the element swing.
  • Use animation-iteration-count to only play the animation once.
<button class="button-swing">Submit</button>
.button-swing {
  color: #65b5f6;
  background-color: transparent;
  border: 1px solid #65b5f6;
  border-radius: 4px;
  padding: 0 16px;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

.button-swing:focus {
  animation: swing 1s ease;
  animation-iteration-count: 1;
}

@keyframes swing {
  15% {
    transform: translateX(5px);
  }
  30% {
    transform: translateX(-5px);
  }
  50% {
    transform: translateX(3px);
  }
  65% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
  100% {
    transform: translateX(0);
  }
}