transtion 과 animation 효과를 사용하면 일정 시간에 걸쳐 속성값을 부드럽게 변화시킬 수 있는데 이것을 제어하는 것을 가능하게 해주는 효과이다.
transitioin: property | duration | timing-funtion | delay
linear (일정한 속도) | ease (기본값, ease-in-out과 동일)ease-in (시작부분을 천천히) | ease-out(끝부분을 천천히) | ease-in-out (시작부분을 천천히 중간 빠르게 끝부분을 천천히) | cubic-bezier() (자신이 원하는 스타일 transition)
.a {
transition: font-size 1000ms ease-in-out,
background-color 2000ms cubic-bezier(0.08, 0.57, 0.97, -0.78);
}
속성값들을 쓰고 끝에 콤마(,)를 붙여준 후 다시 원하는 트랜지션 효과를 적고 마무리해주면 2개의 트랜지션 효과가 동시에 일어난다.
<1번째 방법>
@keyframes name {
from {
/* Rules */
}
to {
/* Rules */
}
}
<2번째 방법>
@keyframes name {
100% {
/* Rules */
}
50% {
/* Rules */
}
0% {
/* Rules */
}
}
animation-name
: 적용시킬 @keyframes name
animation-duration
: animation 지속시간
animation-timing-function
: 위의 transtion 참고
animation-delay
: 지연시간
animation-iteration-count
: 몇번 반복할 것인지 infinity(무한가능)
animation-direction
: 앞으로, 뒤로 또는 앞뒤로 번갈아 재생되어야하는지 여부를 지정
🚨주의점 : 요소 클래스의 기본값 (색상,속성 등)이 없어지면 애니메이션 끝난 후 없어진다.