FE/CSS
CSS 애니메이션
nika0
2022. 2. 24. 09:55
이번 포스팅에서는 CSS 애니메이션을 공부하면서,
keyframe 사용 법 및 다양한 애니메이션 속성에 대해 공부하겠습니다.
CSS 애니메이션이란?
- 여러 개의 CSS 스타일을 부드럽게 전환해준다.
- @keyframes 키워드 활용 시 시간 순서대로 정밀하게 짜여진 애니메이션 만들기 가능
@keyFrames 활용
1. CSS로 키프레임 블록 만들기
/* '%' 단위로 시간 진행에 따른 상태를 작성해주면 됩니다. */
@keyframes 애니메이션이름 {
0% { /* from 이라고 작성해도 됩니다.*/
CSS속성 : 속성값;
}
50% { /* 애니메이션 진행도에 따른 스타일을 설정합니다. */
/* 필요하다면 1부터 99까지도, 소수점까지도 모두 작성해도 됩니다.*/
CSS속성 : 속성값;
}
100% { /* to 라고 작성해도 됩니다.*/
CSS속성 : 속성값;
}
}
<회전하는 키프레임 애니메이션>
@keyframes lotate {
0% {
transform : rotate(0deg)
}
50% {
transform : rotate(180deg)
}
100% {
transform : rotate(360deg)
}
}
animation 속성?
띄어쓰기로 쭉 나열하면 여러 속성들을 한 번에 지정 가능
<종류>
- animation-name : 애니메이션의 중간 상태를 지정하는 이름. @keyframes 블록에 작성
- animation-duration : 한 싸이클의 애니메이션이 재생될 시간 지정 (기본값 0)
- animation-delay : 애니메이션이 시작을 지연시킬 시간 지정
- animation-direction : 애니메이션 재생 방향을 지정
(normal, reverse, alternate, alternate-reverse) - animation-iteration-count : 애니메이션이 몇 번 반복될지 지정
(1, infinite, 소수점 : 중간에 처음상태로 돌아감) - animation-play-state : 애니메이션을 재생 상태. 멈추거나 다시 재생 시킬 수 있음
(running, pause) - animation-timing-function : 중간 상태들의 전환을 어떤 시간간격으로 진행할지 지정
(진행 속도 linear, ease, ease-in, ease-out, ease-in-out) - animation-fill-mode : 애니메이션이 재생 전 후의 상태 지정
(none, forwards, backwards, both)