๐ŸŽฌ 10. CSS ์• ๋‹ˆ๋ฉ”์ด์…˜: '์›€์ง์ž„์˜ ๋ฏธํ•™, ์„ฑ๋Šฅ์€ ํ•„์ˆ˜'

2026๋…„ 4์›” 30์ผ ์ˆ˜์ •๋จ

๐Ÿ“‹ ๊ฐœ์š”

์›น์— ์ƒ๋ช…๋ ฅ์„ ๋ถˆ์–ด๋„ฃ๋Š” CSS ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ํ•ต์‹ฌ ๊ธฐ๋ฒ•๊ณผ, 60fps์˜ ๋ถ€๋“œ๋Ÿฌ์›€์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ์ „๋žต์„ ์˜์ฒ ์ด์™€ ํ•จ๊ป˜ ์™„์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด ๋ฌธ์„œ๋ฅผ ์ฝ๊ธฐ ์ „์—

โฑ๏ธ ์˜ˆ์ƒ ์ฝ๊ธฐ ์‹œ๊ฐ„: 11๋ถ„(์ „์ฒด) / ํ•ต์‹ฌ ํŒŒํŠธ๋งŒ: 6๋ถ„

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ํ๋ฆ„
[Transition vs Animation] โ†’ [Keyframes์˜ ์ •๊ตํ•จ] โ†’ [GPU ๊ฐ€์†๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™”]

๐ŸŽฏ ์ด ๋ฌธ์„œ๋ฅผ ๋‹ค ์ฝ์œผ๋ฉด ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

  • ๋‹จ์ˆœํ•œ ์ƒํƒœ ๋ณ€ํ™”๋Š” transition์œผ๋กœ, ๋ณต์žกํ•œ ์‹œํ€€์Šค๋Š” animation์œผ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • cubic-bezier๋ฅผ ํ™œ์šฉํ•ด ๊ธฐ๊ณ„์ ์ด์ง€ ์•Š์€ ์ž์—ฐ์Šค๋Ÿฌ์šด ์›€์ง์ž„์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ €์˜ ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์„ ์ดํ•ดํ•ด ๋Š๊น€์ด ์ ์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ๋ฐฐ๊ฒฝ ์„ธ๊ณ„๊ด€: '์˜์ˆ˜๋„ค ์ปค๋ฎค๋‹ˆํ‹ฐ'

  • ๐Ÿฃ ์˜์ฒ  (์ค‘๋ฐ˜๋ถ€ ์‹ค๋ฌด์ž): "์˜ํ˜ธ ๋‹˜! ๋ฒ„ํŠผ ํ˜ธ๋ฒ„ ํšจ๊ณผ๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ, ์นด๋“œ๊ฐ€ ๋งŽ์€ ํŽ˜์ด์ง€์—์„œ ์Šคํฌ๋กค๊ณผ ํ•จ๊ป˜ ์›€์ง์ด๋ฉด ๋Š๊น€์ด ๋ณด์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์†์„ฑ์„ ์›€์ง์˜€๋Š”์ง€๋ถ€ํ„ฐ ํ™•์ธํ•ด์•ผ๊ฒ ์ฃ ?"
  • ๐Ÿฆ ์˜ํ˜ธ (๋ฆฌ๋“œ): "๋งž์•„์š”. ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ์žฅ์‹์ด ์•„๋‹ˆ๋ผ ํ”ผ๋“œ๋ฐฑ์ž…๋‹ˆ๋‹ค. ์•„๋ฆ„๋‹ต๊ฒŒ ์›€์ง์ด๋Š” ๊ฒƒ๋งŒํผ ์‚ฌ์šฉ์ž์˜ CPU/GPU์— ๋ฌด๋ฆฌ๋ฅผ ์ฃผ์ง€ ์•Š๋Š” ์ ˆ์ œ๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค."

๐Ÿค” ์™œ ์•Œ์•„์•ผ ํ•˜๋Š”๊ฐ€

์• ๋‹ˆ๋ฉ”์ด์…˜์€ ๋‹จ์ˆœํ•œ ์‹œ๊ฐ์  ํšจ๊ณผ๋ฅผ ๋„˜์–ด, ์œ ์ €์—๊ฒŒ ํ˜„์žฌ ์–ด๋–ค ๋™์ž‘์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๋Š” ์ค‘์š”ํ•œ ํ”ผ๋“œ๋ฐฑ ์ˆ˜๋‹จ(Micro-interaction)์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž˜๋ชป ๊ตฌํ˜„๋œ ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ์ „์ฒด ์›น์‚ฌ์ดํŠธ์˜ ์„ฑ๋Šฅ์„ ๋–จ์–ด๋œจ๋ฆฌ๊ณ , ์ €์‚ฌ์–‘ ๊ธฐ๊ธฐ์—์„œ ์ž…๋ ฅ ์ง€์—ฐ์ด๋‚˜ ์Šคํฌ๋กค ๋Š๊น€์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜์ฒ ์ด๊ฐ€ ๊ฒช์€ ๋Š๊น€ ํ˜„์ƒ์€ ๋Œ€๋ถ€๋ถ„ Reflow(Layout) ๋ฅผ ์œ ๋ฐœํ•˜๋Š” ์†์„ฑ์„ ์• ๋‹ˆ๋ฉ”์ด์…˜์— ์ผ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. 5๋…„์ฐจ ์ด์ƒ์˜ ์‹œ๋‹ˆ์–ด๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ Composite ๊ณ„์ธต์„ ํ™œ์šฉํ•˜๊ธฐ ์‰ฌ์šด ์†์„ฑ์„ ์šฐ์„  ๊ฒ€ํ† ํ•˜๊ณ , ์‚ฌ์–‘ ๋‚ฎ์€ ์Šค๋งˆํŠธํฐ์—์„œ๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์‹ค์ œ ๊ธฐ๊ธฐ๋‚˜ ์„ฑ๋Šฅ ํŒจ๋„๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.


๐ŸŽ๏ธ 1. Transition vs Animation

  • Transition: A ์ƒํƒœ์—์„œ B ์ƒํƒœ๋กœ ๋ณ€ํ™”ํ•  ๋•Œ ์”๋‹ˆ๋‹ค. (์˜ˆ: ํ˜ธ๋ฒ„ ์‹œ ์ƒ‰์ƒ ๋ณ€๊ฒฝ)
  • Animation: ๋” ๋ณต์žกํ•˜๊ณ  ๋ฐ˜๋ณต์ ์ธ ์ผ๋ จ์˜ ์›€์ง์ž„์„ ๋งŒ๋“ค ๋•Œ ์”๋‹ˆ๋‹ค. (@keyframes ํ•„์š”)

๋ฒ„ํŠผ ํ˜ธ๋ฒ„์ฒ˜๋Ÿผ A ์ƒํƒœ์—์„œ B ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๋Š” ํšจ๊ณผ๋Š” transition์ด ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋™์ด๋‚˜ ํ™•๋Œ€๋Š” ๋ ˆ์ด์•„์›ƒ์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š” transform์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ณดํ†ต ๋” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

.btn {
  /* ๋ณ€ํ•˜๋Š” ์†์„ฑ, ์‹œ๊ฐ„, ํƒ€์ด๋ฐ ํ•จ์ˆ˜๋ฅผ ํ•œ๊ณณ์— ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค. */
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.btn:hover {
  transform: scale(1.1); /* ๋ ˆ์ด์•„์›ƒ ํ๋ฆ„์„ ๋ฐ”๊พธ์ง€ ์•Š๋Š” ํ™•๋Œ€์ž…๋‹ˆ๋‹ค. */
}

๐Ÿƒ Transition vs Animation ๋น„๊ต

Transition (๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค๋ณด์„ธ์š”!)

Hover Me!

A โ†’ B ์ƒํƒœ ๋ณ€ํ™” (๋‹จ์ˆœ)

Animation (์ž๋™ ๋ฐ˜๋ณต!)

โญ Bounce!

@keyframes๋กœ ์‹œํ€€์Šค ์ •์˜ (๋ณต์žก)


โš™๏ธ 2. ์„ฑ๋Šฅ์˜ ๊ณจ๋“  ํƒ€์ž„: Reflow๋ฅผ ํ”ผํ•˜๋ผ

์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์ค„ ๋•Œ ์ ˆ๋Œ€ ๊ฑด๋“œ๋ฆฌ์ง€ ๋ง์•„์•ผ ํ•  ์†์„ฑ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‚˜์œ ์˜ˆ (Reflow ์œ ๋ฐœ): width, height, top, left, margin, padding
    ๐Ÿ‘‰ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋งค ํ”„๋ ˆ์ž„๋งˆ๋‹ค ์ฃผ๋ณ€ ์š”์†Œ์˜ ์œ„์น˜๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋ฐ˜๋ณต๋˜๋ฉด ํ”„๋ ˆ์ž„ ๋“œ๋ž ๋ฐœ์ƒ)
  • ์ข‹์€ ์˜ˆ (Composite๋งŒ ํ™œ์„ฑํ™”): transform (scale, rotate, translate), opacity
    ๐Ÿ‘‰ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ ˆ์ด์–ด ํ•ฉ์„ฑ ๋‹จ๊ณ„์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‰ฌ์›Œ ๋ฐ˜๋ณต ์• ๋‹ˆ๋ฉ”์ด์…˜์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๐Ÿฃ ์˜์ฒ : "์•„! ๊ทธ๋ž˜์„œ ์ œ๊ฐ€ top์„ ๋ฐ”๊ฟ”์„œ ๋ฒ„ํŠผ์„ ์˜ฌ๋ ธ์„ ๋•Œ ๋ ‰์ด ๊ฑธ๋ ธ๋˜ ๊ฑฐ๊ตฐ์š”! ์•ž์œผ๋ก  translateY๋กœ ๋ฐ”๊ฟ”์•ผ๊ฒ ์–ด์š”!"


๐ŸŽญ 3. ์ž์—ฐ์Šค๋Ÿฌ์šด ์›€์ง์ž„: easing์˜ ๋ฏธํ•™

๋ฌผ์ฒด๋Š” ํ˜„์‹ค์—์„œ ์ผ์ •ํ•œ ์†๋„๋กœ ์›€์ง์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. linear ๋Œ€์‹  ease-in-out์ด๋‚˜ ์ปค์Šคํ…€ cubic-bezier๋ฅผ ์“ฐ๋ฉด ํ›จ์”ฌ ์ƒ๋™๊ฐ ์žˆ๋Š” ์ธํ„ฐ๋ž™์…˜์ด ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค.

๐Ÿฆ ์˜ํ˜ธ์˜ ๋””ํ…Œ์ผ:
"์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋๋‚˜๊ณ  ์›๋ž˜๋Œ€๋กœ ๋Œ์•„์˜ฌ ๋•Œ ๋š ๋Š๊ธฐ์ง€ ์•Š๋„๋ก transition์„ ํ˜ธ๋ฒ„๊ฐ€ ์•„๋‹Œ ์›๋ž˜ ์ƒํƒœ์— ์ •์˜ํ•˜๋Š” ๊ฑธ ์žŠ์ง€ ๋งˆ์„ธ์š”."

๐ŸŽจ Easing ํ•จ์ˆ˜ ๋น„๊ต: ์›€์ง์ž„์˜ ๋А๋‚Œ์ด ๋‹ฌ๋ผ์š”!

linear
(๊ธฐ๊ณ„์ )

ease-in-out
(์ž์—ฐ์Šค๋Ÿฌ์›€)

cubic-bezier
(ํƒ„์„ฑ ํšจ๊ณผ!)

๐Ÿ“ ๋งˆ๋ฌด๋ฆฌ ํ€ด์ฆˆ

Q1. transform: rotate(45deg); ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์˜ ์–ด๋–ค ๋‹จ๊ณ„๋งŒ ๊ฑฐ์น˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ์ข‹์€ ๊ฒƒ์ผ๊นŒ์š”?

  1. Layout
  2. Paint
  3. Composite
  4. DOM Construction

โœ… ์ •๋‹ต: 3. Composite

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ: transform๊ณผ opacity๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋‘” ๋ ˆ์ด์–ด๋ฅผ ๋‹จ์ˆœํžˆ ์žฌ๋ฐฐ์น˜๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋น„์‹ผ ๊ณ„์‚ฐ ๊ณผ์ •์ธ Layout์ด๋‚˜ Paint๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  GPU์—์„œ ๋ฐ”๋กœ ์ฒ˜๋ฆฌ(Composite)ํ•˜๋ฏ€๋กœ ๊ฐ€์žฅ ๋ถ€๋“œ๋Ÿฝ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋•€ ํ˜๋ฆฌ์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒŒ ๊ณ ์ˆ˜์˜ ๋น„๊ฒฐ์ด์—์š”. Composite ๋‹จ๊ณ„๋ฅผ ์‚ฌ๋ž‘ํ•ด์ฃผ์„ธ์š”!"

Q2. CSS ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ํ•œ ์‚ฌ์ดํด(0%~100%)์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

  1. @animation-steps
  2. @keyframes
  3. @timeline
  4. @motion-path

โœ… ์ •๋‹ต: 2. @keyframes

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ: @keyframes๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ๊ฐ ์ง€์ (Keyframes)์—์„œ ์š”์†Œ๊ฐ€ ์–ด๋–ค ์Šคํƒ€์ผ์„ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ์„ค๊ณ„๋„์ž…๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ์‹œ๋‚˜๋ฆฌ์˜ค ์ž‘๊ฐ€๊ฐ€ ์žฅ๋ฉด์„ ๋‚˜๋ˆ„๋“ฏ @keyframes๋กœ ์• ๋‹ˆ๋ฉ”์ด์…˜์˜ ์Šคํ† ๋ฆฌ๋ฅผ ์งœ๋ณด์„ธ์š”."

Q3. [์˜์ฒ ์ด์˜ ํ…Œ์ŠคํŠธ ํƒ€์ž„: ์‹ค๋ฌด ๋”œ๋ ˆ๋งˆ]
์˜์ฒ ์ด๊ฐ€ ์‚ฌ์ด๋“œ๋ฐ”๋ฅผ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๊ฒŒ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” left: -300px์—์„œ left: 0์œผ๋กœ ์˜ฎ๊ฒผ๋Š”๋ฐ, ์˜ํ˜ธ ๋‹˜์ด "๋ฐ˜๋ณต ์• ๋‹ˆ๋ฉ”์ด์…˜์ด๋ผ๋ฉด Layout์„ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ๊ฒ€ํ† ํ•ด๋ณด์ž"๋ผ๊ณ  ๋ฆฌ๋ทฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์„ฑ๋Šฅ์— ์œ ๋ฆฌํ•œ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ์š”?

โœ… ์ •๋‹ต: transform: translateX(-100%)์—์„œ transform: translateX(0)์œผ๋กœ ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์ด๋™์‹œํ‚จ๋‹ค.

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ ์„ค๋ช…: left ๊ฐ’์„ ๋ฐ”๊พธ๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ ˆ์ด์•„์›ƒ(Reflow) ๋‹จ๊ณ„๋ฅผ ๋งค๋ฒˆ ๊ฑฐ์ณ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ transform์€ ์ด๋ฏธ ๊ทธ๋ ค์ง„ ๋ ˆ์ด์–ด๋ฅผ GPU๊ฐ€ ์œ„์น˜๋งŒ ์˜ฎ๊ฒจ์ฃผ๋Š” ๊ฒƒ์ด๋ผ ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ๋ถ€๋“œ๋Ÿฝ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, left๋Š” ๋ ˆ์ด์•„์›ƒ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ์ง€๋งŒ transform์€ ํ•ฉ์„ฑ ๋‹จ๊ณ„์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์›€์ง์ž„์€ ๊ฐ€๋Šฅํ•œ ํ•œ translate๋กœ ํ‘œํ˜„ํ•ด๋ณด์„ธ์š”."
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "์œ„์น˜ ์ด๋™์€ left๊ฐ€ ์•„๋‹ˆ๋ผ translate!"

๐Ÿฃ ์˜์ฒ ์ด์˜ ํ‡ด๊ทผ ์ผ๊ธฐ

์˜ค๋Š˜ ๋“œ๋””์–ด CSS ๊ฐ€์ด๋“œ์˜ ์ค‘๋ฐ˜๋ถ€์ธ 10์žฅ์„ ๋งˆ์ณค๋‹ค.
์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋‹จ์ˆœํžˆ ํ™”๋ คํ•œ ๊ฒŒ ์•„๋‹ˆ๋ผ, ์–ผ๋งˆ๋‚˜ ์ฒ ์ €ํ•˜๊ฒŒ ๋ธŒ๋ผ์šฐ์ €์˜ ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š”์ง€ ๊นจ๋‹ฌ์€ ๊ฒŒ ๊ฐ€์žฅ ํฐ ์†Œ๋“์ด๋‹ค.
์œ ์ €๊ฐ€ "์–ด? ๋ถ€๋“œ๋Ÿฝ๋‹ค"๋ผ๊ณ  ๋А๋ผ๋Š” 0.1์ดˆ ๋’ค์— ์ด๋Ÿฐ ๋ณต์žกํ•œ ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์ด ์ˆจ์–ด ์žˆ์—ˆ๋‹ค๋‹ˆ!

๐Ÿ’ก "์ข‹์€ ์• ๋‹ˆ๋ฉ”์ด์…˜์€ ๋ˆˆ์„ ์ฆ๊ฒ๊ฒŒ ํ•˜๊ณ , ์œ„๋Œ€ํ•œ ์• ๋‹ˆ๋ฉ”์ด์…˜์€ CPU๋ฅผ ์‰ฌ๊ฒŒ ํ•œ๋‹ค."

์˜ํ˜ธ ๋‹˜์ด "Reflow๊ฐ€ ๋‚˜์œ ๊ฒŒ ์•„๋‹ˆ๋ผ, ๋งค ํ”„๋ ˆ์ž„ ๋ฐ˜๋ณต๋˜๋Š” Reflow๋ฅผ ๋ชจ๋ฅด๊ณ  ๋‘๋Š” ๊ฒŒ ๋ฌธ์ œ"๋ผ๊ณ  ํ•˜์…จ๋˜ ๋ง์„ ๊ธฐ์–ตํ•ด์•ผ๊ฒ ๋‹ค.
๋‚ด์ผ๋ถ€ํ„ฐ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ PR์„ ์˜ฌ๋ฆด ๋•Œ ์–ด๋–ค ์†์„ฑ์„ ์›€์ง์˜€๋Š”์ง€, ์ ‘๊ทผ์„ฑ์—์„œ prefers-reduced-motion์„ ๊ณ ๋ คํ–ˆ๋Š”์ง€๊นŒ์ง€ ๊ฐ™์ด ์ ์–ด๋ณด๋ ค ํ•œ๋‹ค.


๐Ÿ”— ๋” ์•Œ์•„๋ณด๊ธฐ