[브라우저 렌더링] 모바일 환경에서 발생하는 비정상적인 애니메이션 동작 해결
🔍 현재 구현 방식
export const timerInnerLayout = (scale: number) => css`
transform: scaleX(${scale});
transform-origin: left;
transition: transform 1s linear;
`;
export const timerWrapper = (scale: number) => css`
transform: translateX(-${(1 - scale) * 98}%);
transition: transform 1s linear;
`;
🚨 문제점
✅ 문제 해결
const progress = keyframes`
0% {
transform: scaleX(1);
}
100% {
transform: scaleX(0);
}
`;
const timerTransition = keyframes`
0% {
transform: translateX(0);
}
100%{
transform: translateX(-95%);
}
`;
export const timerInnerLayout = (timeLimit: number) => css`
transform-origin: left;
animation: ${progress} ${timeLimit + 1}s linear;
`;
export const timerWrapper = (timeLimit: number) => css`
animation: ${timerTransition} ${timeLimit + 1}s linear;
`;
애니메이션 개선 전 | 애니메이션 개선 후 |
---|---|
댓글남기기