๋ฒํผ์ ๋๋ฅผ ๋ ๋ฌผ๊ฒฐ์ด ํผ์ง๋ ํจ๊ณผ์ ์ฝ๋๋ฅผ ๋ง๋ค์ด ์ค๋๋ค. ์๊ณผ ๋ถํฌ๋ช ๋, ํผ์ง ํฌ๊ธฐ, ์ง์ ์๊ฐ์ ๋ฃ์ผ๋ฉด ์์ CSS ๋ฐฉ์๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ํจ๊ป ์ฐ๋ ๋ฐฉ์ ์ค ํ๋๋ฅผ ๊ณจ๋ผ ๋ฐ์ ์ ์๊ณ , ๋ฐ๋ก ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฒํผ์ ๋๋ฌ ํ์ธํ ์ ์์ต๋๋ค.
์์ CSS ๋ฐฉ์์ ::after์ ์์ ๋ง๋ค์ด ๋๊ณ :active์ผ ๋ scale์ 0์์ 1๋ก ํค์๋๋ค. ํฌ์ธํฐ ์ขํ๋ฅผ CSS๊ฐ ์ ์ ์์ด์ ํผ์ง๋ ์ค์ฌ์ ํญ์ ์์์ ๊ฐ์ด๋ฐ์ ๋๋ค. JS ๋ฐฉ์์ ํด๋ฆญํ ์ง์ ์ ๊ธฐ์ค์ผ๋ก ์์ ํ๋ ๋ง๋ค์ด ๋ถ์ด๊ณ ์ ๋๋ฉ์ด์ ์ด ๋๋๋ฉด ์ง์๋๋ค. ๋ ๋ฐฉ์ ๋ชจ๋ ์์์ position: relative์ overflow: hidden์ด ํ์ํฉ๋๋ค. ์์ฑ ์ ์๋ W3C CSS TransitionsยทAnimations ๋ช ์ธ๋ฅผ ๋ฐ๋ฆ ๋๋ค(2026๋ 10์ ๊ธฐ์ค).
์ง์ ์๊ฐ๊ณผ ๊ณก์ ์ ๊ถ์ฅ๊ฐ์ ์ ์ํ์ง ์๊ณ ์ ๋ ฅํ ๊ฐ์ ๊ทธ๋๋ก ์๋๋ค. ์๊ฐ๋ฝ์ ๋ผ๋ฉด ์์ CSS ๋ฐฉ์์ ๋ฌผ๊ฒฐ์ ์ฆ์ ์ฌ๋ผ์ง๋ฉฐ, ๋๋ฅธ ์ํ๋ฅผ ์ ์งํ๋ ์์ ํจ๊ณผ๋ ์ง์ํ์ง ์์ต๋๋ค. ์์ง์์ ์ค์ฌ ๋ฌ๋ผ๋ ์ค์ ์ ๋ฐ๋ฅด๋ ค๋ฉด prefers-reduced-motion ๋ธ๋ก์ ๋ฐ๋ก ์ถ๊ฐํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
ํ ์ ์์ต๋๋ค. CSS๋ ํฌ์ธํฐ ์ขํ๋ฅผ ์์ง ๋ชปํ๋ฏ๋ก ๊ฐ์ด๋ฐ์์ ํผ์ง๋ ๋ชจ์๋ง ๊ฐ๋ฅํฉ๋๋ค. ํด๋ฆญ ์ง์ ์ด ํ์ํ๋ฉด JS ๋ฐฉ์์ ๊ณ ๋ฅด์ธ์.
๋ฌผ๊ฒฐ ์์ด ์์๋ณด๋ค ํฌ๊ฒ ์๋ผ๊ธฐ ๋๋ฌธ์ ๋๋ค. overflow: hidden์ด ์์ผ๋ฉด ์์ด ๋ฒํผ ๋ฐ์ผ๋ก ์์ ธ๋์ ์ฃผ๋ณ ๋ ์ด์์์ ๋ฎ์ต๋๋ค.
์ด ๋๊ตฌ๋ ๊ถ์ฅ ์๊ฐ์ ์ ์ํ์ง ์์ต๋๋ค. ์ ๋ ฅํ ๊ฐ์ ๊ทธ๋๋ก ์ฝ๋์ ๋ฃ์ผ๋ฉฐ, ์ ์ ํ ๊ธธ์ด๋ ๋ฒํผ ํฌ๊ธฐ์ ์ ํ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.