ease-in-out 의 상세 설명ease-in-out의 목적은 애니메이션에 자연스러움과 현실감을 부여하는 것입니다. 현실 세계에서 물체가 움직일 때 갑자기 최고 속도로 움직이거나 갑자기 멈추지 않는 것처럼, 부드러운 시작과 끝을 제공하여 사용자에게 편안한 경험을 제공합니다.
개발 환경에서 ease-in-out은 주로 CSS(Cascading Style Sheets)의 transition-timing-function 또는 animation-timing-function 속성 값으로 사용됩니다.
이 함수는 수학적으로는 三次 베지에 곡선(Cubic Bézier Curve)으로 정의되며, CSS에서는 다음과 같이 표현됩니다.
이 곡선은 시간(Time)에 따른 애니메이션 진행 정도(Progress)를 나타냅니다.
| 진행 단계 | 속도 변화 |
|---|---|
| 초기 | 속도가 느림 (0% ~ 20% 지점) |
| 중간 | 속도가 가장 빠름 (50% 지점 근처) |
| 종료 | 속도가 다시 느려짐 (80% ~ 100% 지점) |
| 타이밍 함수 | 움직임 설명 | 비유 |
|---|---|---|
linear | 속도가 시작부터 끝까지 일정합니다. | 기차가 일정한 속도로 계속 달리는 것 |
ease-in | 느리게 시작하여 점점 빨라집니다. 끝까지 가속합니다. | 자동차가 출발하여 계속 가속하는 것 |
ease-out | 빠르게 시작하여 점점 느려집니다. | 도착 지점을 향해 감속하며 멈추는 것 |
ease-in-out | 느리게 시작하여 빨라졌다가 다시 느려지며 멈춥니다. | 승용차가 부드럽게 출발하고 도착하는 것 |