@keyframes
@keyframes를 사용하여 특정 지점에 키프레임들을 설정함으로써 애니메이션을 부드럽게 해주는 속성입니다.
문법
@keyframes [이름] {
[발생 시점] {
[애니메이션 속성: 값]
}
}
[이름]: keyframe을 식별하는 이름
[발생 시점]: keyframe이 발생해야 하는 시점
- from: 시작 offset인 0%를 의미
- to: 마지막 offset인 100%를 의미
- 0%~100%: 발생해야 하는 시간의 백분율 값
[애니메이션 속성: 값]: 애니메이션으로 제어할 스타일 속성과 값
예제
from, to를 활용한 방법
@keyframes slideRight {
from {
transform: translateX(0%);
}
to {
transform: translateX(100%);
}
}
%를 활용한 방법
@keyframes slideRight {
0% {
transform: translateX(0%);
}
100% {
transform: translateX(100%);
}
}
%를 사용하여 세밀하게 애니메이션을 제어하는 방법
@keyframes slideRight {
0% {
transform: translateX(0%);
}
50% {
transform: translateX(50%);
}
100% {
transform: translateX(100%);
}
}
keyframes로 다른 애니메이션 속성 만들기
애니메이션 발생 시간의 50%에 x축으로 100%까지 이동 후 애니메이션 발생 시간의 100%에 x축으로 0%까지 이동
@keyframes slideRightAndLeft {
0% {
transform: translateX(0%);
}
50% {
transform: translateX(100%);
}
100% {
transform: translateX(0%);
}
}
🔍 참고
https://developer.mozilla.org/ko/docs/Web/CSS/@keyframes
@keyframes - CSS: Cascading Style Sheets | MDN
@keyframes @규칙은 개발자가 애니메이션 중간중간의 특정 지점들을 거칠 수 있는 키프레임들을 설정함으로써 CSS 애니메이션 과정의 중간 절차를 제어할 수 있게 합니다. 이를 통해 브라우저가 tran
developer.mozilla.org
'CSS' 카테고리의 다른 글
[CSS] px, em, rem (0) | 2024.02.20 |
---|---|
[CSS] animation (0) | 2024.02.16 |