FE 에게 애니메이션이란?(auto scaling text 구현?!)

프론트엔드 엔지니어에게 애니메이션은
깊게 들어갈수록 쉽지 않은 주제인것 같아요.
최근 사용자가 텍스트 입력시 길이가 길어져서
허용된 width 보다 넘치면, 자동으로 텍스트 크기가 작아지는
오토 스케일링 애니메이션을 구현해 보았어요.

가장 처음 떠오른 것은 transform: scale() 이었어요.
javascript 로 크기를 조정하는 것과 다르게
transform 은 새로운 레이어에서 렌더링 된 후 컴포지션 해서요.
(그 과정에서, 브라우저가 GPU 를 활용해서 성능이 최적화 되어서요.)

구체적인 구현 방법도 고민했어요.
useLayoutEffect 를 활용해서 container element 의 width 와
허용된 width 보다 넘치는 inline element 의 렌더링된 width를 저장해두고
각 width 를 비교해서 scale 비율을 계산했어요.

이를 허용된 width 보다 넘치는 inline element 에 적용하기 위해
container element 에 transform: scale({scale}) 을 입혔더니
성공이었어요 🎉

다만 주의할 점은, 사용자가 텍스트를 빠르게 입력하면
가로 스크롤이 발생하는 경우 였어요.
텍스트에 적용된 추가적인 애니메이션이 영향을 준것 같아서
container 의 상위 태그에서 overflow: hidden 을 주어
스크롤 발생을 막았어요 :)

애니메이션의 세계는 넓고도 깊은 것 같아요.
그래도 마지막에 동작하는걸 보니 뿌듯한 마음이 들었어요 🤩
여러분은 최근에 어떤 애니메이션을 구현 하셨나요??
복잡한 애니메이션을 구현하는 노하우가 있으신가요?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 8월 17일 오후 12:25

 • 

저장 36조회 2,418

댓글 4

함께 읽은 게시물

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자로" 강의를

... 더 보기

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로

www.productengineer.info

Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로

 • 

저장 9 • 조회 784


코루틴 Q&A

코루틴에 대해 알아보아요 Q. 코루틴에 대해 쉽게 설명해주세요. A. 코루틴은 실행을 일시 중지하고 상태를 잃지 않고 호출자에게 다시 제어권을 양보할 수 있는 함수입니다. 이렇게 하면 기능이 나중에 재개되어 중단된 위치에서 다시 시작할 수 있습니다. 코루틴은 단일 스레드에서 여러 작업을 동시에 수행할 수 있도록 프로그래밍에 자주 사용됩니다. Q. 스레드와 비교해서 설명해주세요. A. 스레드는 다른 스레드와 동시에 실행할 수 있는 별도의 실행 경로입니다. 프로그램이 새 스레드를 생성할 때 일반적으로 별도의 스택 및 레지스터 세트가 제공되며 운영 체제는 스레드가 하나 이상의 CPU 코어에서 실행되도록 예약합니다. 이를 통해 여러 스레드가 동시에 실행될 수 있으므로 한 번에 둘 이상의 작업을 수행할 수 있으므로 프로그램의 성능이 향상될 수 있습니다. 대조적으로, 코루틴은 실행을 일시 중지하고 상태를 잃지 않고 호출자에게 제어권을 다시 양보할 수 있는 함수입니다. 이렇게 하면 기능이 나중에 재개되어 중단된 위치에서 다시 시작할 수 있습니다. 스레드와 달리 코루틴은 일반적으로 단일 스레드에서 실행되며 동일한 스택 및 ... 더 보기

 • 

저장 14 • 조회 1,296


예제로 뿌수는 코틀린 Kotlin 프로그래밍 76제

안드로이드 네이티브 앱 개발의 표준 언어이자, 최근 백엔드 개발에도 공격적으로 활용되고 있는 코틀린 프로그래밍 언어를 다양한 예제를 통해 배울 수 있는 온라인 학습 사이트를 공개합니다. 코틀린 공식 홈페이지에 있는 Kotlin By Example이라는 자료는 편역해서 구성했어요. 저는 NHN에 근무할 때 코틀린을 백엔드 API서버 개발에 활용한 경험이 있는데, 자바로 개발할 때보다 훨씬 편하고 즐거웠던 게 기억에 남았습니다. 코틀린을 배우시려거나, 이미 쓰고 있는데 궁금한 점이 많으셨던 분들에게 유용한... 더 보기

예제로 격파하는 코틀린

Hatemogi

예제로 격파하는 코틀린

 • 

저장 42 • 조회 2,406


공식적으로 뭐하는 회사인지는 모르지만 일단 100억달러 기업가치

... 더 보기

무라티의 싱킹 머신즈, 20억달러 투자 유치..."실리콘 밸리 사상 최대 시드 투자"

AI타임스

무라티의 싱킹 머신즈, 20억달러 투자 유치..."실리콘 밸리 사상 최대 시드 투자"

조회 401


혹시 Cursor 채팅만 사용하시나요? Agent 쓰는 방법!

Cursor와 함께라면, 더이상 에디터는 단순한 입력 도구가 아닌

... 더 보기