글쓰는 개발자

[CSS] animation과 keyframe 본문

Development/Web

[CSS] animation과 keyframe

세가사 2025. 8. 3. 23:08
반응형

 

 

[css] transition

transition웹페이지에서 애니메이션 효과를 구현하는데는 두가지 방법이 존재한다. tansition과 animation이다.이 중 transition 속성은 transition에 지정된 속성의 변화를 감지하여 각 속성간의 변화를 천천

gran007.tistory.com

 

animation

animation 속성은 transition과 함께 웹페이지의 애니메이션을 동작할수 있게한다.

animation은 transition과 다르게 keyframe이라는 속성을 사용하여 조금 더 세분화된 동작의 사용이 가능하며 상태값의 전후를 억지로 변경하지 않아도 되며 동작의 반복등도 가능하다.

키프레임은 다음과 같은 하위 속성으로 구성된다.

@keyframes animationName {
 /* from, to 로 중간 프레임 정의 */
  from {
    /* 시작 상태 */
  }
  to {
    /* 끝 상태 */
  }
  /* 백분율로 중간 프레임 정의 */
  0% {
    /* 상태 */
  }
  50% {
    /* 상태 */
  }
  100% {
    /* 상태 */
  }
}

 

animation의 속성 값

animation: name | duration | timing-function | delay | iteration-count | direction | fill-mode | play-state;

 

1. name: keyframe 애니메이션의 이름

2. duration: 애니메이션 지속시간

3. timing-function: 애니메이션의 타이밍 조절 함수

4. delay: 애니메이션 시작 딜레이

5. iteration-count: 애니메이션 반복횟수, infinite로 무한반복 가능

6. direction: 애니메이션 진행방향

7. fill-mode: 애니메이션 실행 전과 후의 스타일 제어

8. play-state: 애니메이션을 일시 중지하거나 다시 실행

 

이중 애니메이션이 종료되면 마지막 스타일을 적용하고 끝내고 싶을때가 있다. 예를들어 opacity가 0에서 시작해서 1로 끝나는 애니메이션 등이다. 이럴때 fill-mode를 forward로 지정해두면 마지막 상태값을 유지하며 애니메이션이 종료된다.

반응형

'Development > Web' 카테고리의 다른 글

[CSS] transition  (0) 2025.08.03
[React] 자주 사용하는 hook들 useState, useEffect, useRef  (8) 2025.08.03
[CSS] shadow-box  (4) 2025.08.03
[CSS] linear-gradient  (2) 2025.08.03
[NestJS] 데코레이터(decorator) 패턴  (0) 2025.08.02