--- id: P-REINFORCE-AUTO-C15CB2 category: "10_Wiki/๐Ÿ’ก Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - Cumulative Layout Shift (CLS)" --- # [[Cumulative Layout Shift (CLS)|Cumulative Layout Shift (CLS)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > Cumulative Layout Shift (CLS)๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๋™์•ˆ ๋ ˆ์ด์•„์›ƒ๊ณผ ์ฝ˜ํ…์ธ ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ์ด๋™ํ•˜๋Š”์ง€๋ฅผ ์ธก์ •ํ•˜๋Š” ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ(Visual Stability) ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค [1, 2]. ๊ตฌ๊ธ€์˜ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ(Core Web Vitals)์„ ๊ตฌ์„ฑํ•˜๋Š” ํ•ต์‹ฌ ์ง€ํ‘œ ์ค‘ ํ•˜๋‚˜๋กœ, ๋‚˜์ค‘์— ๋ Œ๋”๋ง๋œ ์ฝ˜ํ…์ธ ๊ฐ€ ์ค‘์š”ํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ๋ฐ€์–ด๋‚ด๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์˜ ์ €ํ•˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [1, 2]. CLS ์ ์ˆ˜๋Š” 0.1 ๋ฏธ๋งŒ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค [3]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์ธก์ • ๊ธฐ์ค€ ๋ฐ ์ค‘์š”์„ฑ:** CLS๋Š” ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ์ธก์ •ํ•˜๋Š” ์ง€ํ‘œ๋กœ, ํŽ˜์ด์ง€ ๋กœ๋“œ ์ค‘ ์š”์†Œ๋“ค์˜ ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๋ ˆ์ด์•„์›ƒ ์ด๋™ ํ˜„์ƒ์„ ์ˆ˜์น˜ํ™”ํ•ฉ๋‹ˆ๋‹ค [1, 2]. ์ด์ƒ์ ์ด๊ณ  ์พŒ์ ํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด CLS ์ ์ˆ˜๋Š” 0.1 ๋ฏธ๋งŒ์ด์–ด์•ผ ํ•˜๋ฉฐ, 0.25๋ฅผ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ ์ƒํƒœ๊ฐ€ ๋งค์šฐ ๋‚˜์œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์–ด ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค [3]. LCP, INP์™€ ํ•จ๊ป˜ ์ตœ์ ํ™”๋˜์–ด์•ผ ํ•˜๋Š” ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ์˜ ์ค‘์š” ์š”์†Œ์ž…๋‹ˆ๋‹ค [4]. * **์ฃผ์š” ๋ฐœ์ƒ ์›์ธ ๋ฐ ์ตœ์ ํ™” ๋ฐฉ๋ฒ•:** ์ฃผ๋กœ ์•ฑ ๋ฐฐ๋„ˆ, ์ด๋ฏธ์ง€, ๊ด‘๊ณ , ์ž„๋ฒ ๋“œ ์š”์†Œ ๋“ฑ์ด ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๋ฉด์„œ ๊ธฐ์กด์— ๋ Œ๋”๋ง๋œ ์ฝ˜ํ…์ธ ๋ฅผ ์•„๋ž˜๋กœ ๋ฐ€์–ด๋‚ผ ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค [2, 5, 6]. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด๋ฏธ์ง€๋‚˜ ๊ด‘๊ณ , ์ž„๋ฒ ๋“œ ์š”์†Œ๊ฐ€ ๋กœ๋“œ๋  ๊ณต๊ฐ„์„ ๋ฏธ๋ฆฌ ํ™•๋ณด(reserve space)ํ•ด ๋‘์–ด์•ผ ํ•˜๋ฉฐ, ๊ธฐ์กด์— ์žˆ๋Š” ์ฝ˜ํ…์ธ  ์œ„๋กœ ์ƒˆ๋กœ์šด ์ฝ˜ํ…์ธ ๋ฅผ ๋™์ ์œผ๋กœ ์‚ฝ์ž…ํ•˜๋Š” ๊ฒƒ์„ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6]. * **๋ถ„์„ ๋ฐ ๋””๋ฒ„๊น…:** Chrome DevTools์˜ ์„ฑ๋Šฅ(Performance) ํŒจ๋„์„ ์‚ฌ์šฉํ•ด CLS์˜ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [7]. * 'Layout shifts' ํŠธ๋ž™์—์„œ ๋ ˆ์ด์•„์›ƒ ์ด๋™์€ ๋ณด๋ผ์ƒ‰ ๋‹ค์ด์•„๋ชฌ๋“œ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, ์‹œ๊ฐ„์ƒ ๊ทผ์ ‘์„ฑ์— ๋”ฐ๋ผ ํด๋Ÿฌ์Šคํ„ฐ ํ˜•ํƒœ(๋ณด๋ผ์ƒ‰ ์„ )๋กœ ๊ทธ๋ฃนํ™”๋ฉ๋‹ˆ๋‹ค [7]. * ์ด ๋‹ค์ด์•„๋ชฌ๋“œ๋‚˜ 'Worst cluster 1 shift' ํ•ญ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ์–ด๋–ค DOM ์š”์†Œ๊ฐ€ ์ด๋™์— ์˜ํ–ฅ์„ ๋ฐ›์•˜๋Š”์ง€ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋ฉด ๋ทฐํฌํŠธ ๋‚ด์—์„œ ํ•ด๋‹น ์š”์†Œ๊ฐ€ ํ•˜์ด๋ผ์ดํŠธ๋ฉ๋‹ˆ๋‹ค [7, 8]. * **๋ธŒ๋ผ์šฐ์ € ์ง€์› ๋™ํ–ฅ:** ํ˜„์žฌ ๊ตฌ๊ธ€์„ ์ค‘์‹ฌ์œผ๋กœ ์ธก์ •๋˜๊ณ  ์žˆ์œผ๋‚˜, ํŒŒ์ด์–ดํญ์Šค(Firefox)์™€ ์‚ฌํŒŒ๋ฆฌ(Safari)์˜ ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•œ Interop 2025 ํ”„๋กœ์ ํŠธ์—๋Š” CLS ์ง€์›์ด ๊ณ„ํš๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค [9]. ๋‹ค๋งŒ, ์ฐจ๊ธฐ ํ”„๋กœ์ ํŠธ์ธ Interop 2026์— CLS๋ฅผ ํฌํ•จํ•˜๋ ค๋Š” ์ œ์•ˆ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [9]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[Core Web Vitals|Core Web Vitals]], [[Largest Contentful Paint (LCP)|Largest Contentful Paint (LCP)]], [[Interaction to Next Paint (INP)|Interaction to Next Paint (INP)]] - **Projects/Contexts:** [[Chrome DevTools|Chrome DevTools]], [[Interop 2026|Interop 2026]] - **Contradictions/Notes:** CLS ์ˆ˜์น˜๋Š” ๊ธฐ๊ธฐ์˜ ํ•ด์ƒ๋„์— ํฌ๊ฒŒ ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ๋ฐฉ๋ฌธ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ˜„์žฅ(Field) ๋ฐ์ดํ„ฐ์™€ ๊ฐœ๋ฐœ์ž์˜ ๋กœ์ปฌ(Local) ๋ฐ์ดํ„ฐ ๊ฐ„์— ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ ์ง€ํ‘œ ์ค‘์—์„œ๋„ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•˜์—ฌ ์ธก์ •ํ•˜๊ธฐ ๊ฐ€์žฅ ๊นŒ๋‹ค๋กœ์šด ์ง€ํ‘œ๋กœ ํ‰๊ฐ€๋ฐ›์Šต๋‹ˆ๋‹ค [8]. --- *Last updated: 2026-04-19* - Raw Source: 00_Raw/2026-04-20/Cumulative Layout Shift (CLS).md ---