ease-in-out

agnusdei·2025년 11월 21일

🎨 ease-in-out 의 상세 설명

1. 기능 및 목적

ease-in-out의 목적은 애니메이션에 자연스러움현실감을 부여하는 것입니다. 현실 세계에서 물체가 움직일 때 갑자기 최고 속도로 움직이거나 갑자기 멈추지 않는 것처럼, 부드러운 시작과 끝을 제공하여 사용자에게 편안한 경험을 제공합니다.

  • Ease-in (느리게 시작): 애니메이션이 시작될 때 속도를 점진적으로 증가시킵니다.
  • Ease-out (느리게 종료): 애니메이션이 목표 지점에 도달할 때 속도를 점진적으로 감소시킵니다.
  • Ease-in-out (결합): 이 두 가지 특성을 결합하여 가장 자연스러운 움직임을 만들어냅니다.

2. 기술적 배경 (CSS, Vue.js 등)

개발 환경에서 ease-in-out은 주로 CSS(Cascading Style Sheets)transition-timing-function 또는 animation-timing-function 속성 값으로 사용됩니다.

이 함수는 수학적으로는 三次 베지에 곡선(Cubic Bézier Curve)으로 정의되며, CSS에서는 다음과 같이 표현됩니다.

ease-in-outcubic-bezier(0.42,0,0.58,1.0)\text{ease-in-out} \leftrightarrow \text{cubic-bezier}(0.42, 0, 0.58, 1.0)

이 곡선은 시간(Time)에 따른 애니메이션 진행 정도(Progress)를 나타냅니다.

진행 단계속도 변화
초기속도가 느림 (0% ~ 20% 지점)
중간속도가 가장 빠름 (50% 지점 근처)
종료속도가 다시 느려짐 (80% ~ 100% 지점)

3. 다른 타이밍 함수와의 비교

타이밍 함수움직임 설명비유
linear속도가 시작부터 끝까지 일정합니다.기차가 일정한 속도로 계속 달리는 것
ease-in느리게 시작하여 점점 빨라집니다. 끝까지 가속합니다.자동차가 출발하여 계속 가속하는 것
ease-out빠르게 시작하여 점점 느려집니다.도착 지점을 향해 감속하며 멈추는 것
ease-in-out느리게 시작하여 빨라졌다가 다시 느려지며 멈춥니다.승용차가 부드럽게 출발하고 도착하는 것
profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글