본문 바로가기
카테고리 없음

css @Keyframe 사용법

by Yeony99 2022. 6. 7.
728x90

@keyframes

keyframes는 CSS 애니메이션 사용시, 구간을 정해 각 구간별로 어떠한 스타일을 적용할 지 작성하는 문법이다.

@keyframes 필요요소

  • animation-name: @keyframes가 적용될 애니메이션 이름. 사용자 임의로 부여
  • stage: 0~100%의 구간
  • css style: 각 구간에 적용될 style

animation 속성

  • animation-name
  • animation-duration: 2s;
    • 애니메이션 완료까지 소요 시간
  • animation-delay: 1s;
    • 애니메이션이 시작 전 지연시간
  • animation-iteration-count: infinite;
    • 반복횟수
  • animation-timing-function: ease-out;
    • 애니메이션 실행 속도
  • animation-direction: alternate;
    • 애니메이션 방향 (앞, 뒤, 번갈아 재생 여부)
  • animation-fill-mode: backwards;
    • 애니메이션 시작전, 끝나기 전 스타일 지정
  • animation-play-state:paused;
    • 애니메이션 실행 여부(running, paused)
728x90

@keyframes 사용

<style>
  div {
    height: 40px;
    width: 70%;
    background: black;
    margin: 50px auto;
    border-radius: 5px;
    position: relative;
  }

  #rect {
    animation-name: rainbow;
    animation-duration: 4s;
  }

  @keyframes rainbow {
    0% {
      background-color: blue;
      top: 0px;
      left:0px;

    }
    50% {
      background-color: green;
      top: 50px;
      left:25px;

    }
    100% {
      background-color: yellow;
      top: 0px;
      left:-25px;
    }
  }
</style>

<div id="rect"></div>
<style>

  #ball {
    width: 100px;
    height: 100px;
    margin: 50px auto;
    position: relative;
    border-radius: 50%;
    background: linear-gradient(
      35deg,
      #ccffff,
      #ffcccc
    );
    animation-name: bounce;
    animation-duration: 1s;
    animation-iteration-count: infinite;
  }

  @keyframes bounce{
    0% {
      top: 0px;
    }
    50% {
      top: 249px;
      width: 130px;
      height: 70px;
    }
    100% {
      top: 0px;
    }
  }
</style>
<div id="ball"></div>



728x90

댓글