ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

ํ•™์Šต์˜ ํ•„์š”์„ฑ

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋žœ๋”๋ง์„ ํ•˜๋Š” ๊ณผ์ • ์ค‘ operation ๋‹จ๊ณ„์— ๊ด€ํ•ด์„œ ์ œ๋Œ€๋กœ ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์–ด ๋ณธ ํฌ์ŠคํŒ…์„ ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

 

operation๊ณผ ๊ด€๋ จ๋˜์–ด์„œ๋Š” ์ด์ „ ํฌ์ŠคํŒ…์—์„œ๋„ ํ•œ ๋ฒˆ ๊ธฐ๋กํ•ด๋‘” ์ ์€ ์žˆ์œผ๋‚˜, ๊ฐœ๋…์ ์œผ๋กœ๋งŒ ์ ‘๊ทผํ•˜์—ฌ ๋‹ค์‹œ ๋ณด๋‹ˆ ์ œ๋Œ€๋กœ ์ดํ•ด๊ฐ€ ๋˜์ง€์•Š์•„ ๋ณธ ํฌ์ŠคํŒ…์—์„œ ๋ช‡ ๊ฐœ์˜ ์˜ˆ์‹œ๋ฅผ ํ† ๋Œ€๋กœ ๋‹ค์‹œ ์„ค๋ช…ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค.

 

https://choi95.tistory.com/5?category=857835

 

Critical Rendering Path_์„ฑ๋Šฅ ๋ณด์žฅ ๋ Œ๋”๋ง

 ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋งˆ์šฐ์Šค ์ปค์„œ์— ๋”ฐ๋ผ ์›€์ง์ด๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜์˜€๋‹ค.  top๊ณผ left ์†์„ฑ์ด ์•„๋‹Œ translate ์†์„ฑ์„ ์ด์šฉํ•˜์—ฌ ์ด๋ฅผ ๊ตฌํ˜„ํ•˜์˜€๋Š”๋ฐ, ์ด๋Š” ๋žœ๋”๋ง ์„ฑ๋Šฅ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด

choi95.tistory.com

 

์ง€๊ธˆ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ ํ•˜๋Š” ๋„์ค‘ css๋ฅผ ์ž‘์„ฑ ๋ฐ ์ ์šฉํ•˜๋ฉด์„œ ์ œ๋Œ€๋กœ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์€ ์ฑ„ ๋„˜์–ด๊ฐ„ ๋ถ€๋ถ„์ด ํฌ๊ฒŒ 2๊ฐ€์ง€๊ฐ€ ์žˆ์—ˆ๋‹ค.

  • ์™œ transform-translate ์†์„ฑ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์˜€์„ ๋•Œ, ์˜ค๋ธŒ์ ํŠธ์˜ ์ด๋™์— ๋Œ€ํ•œ ๊ธฐ์ค€ ๊ฐ’์€ ์œ ๋™์ ์ด์ง€ ์•Š๊ณ  ํ•ญ์ƒ ์ฒ˜์Œ ์œ„์น˜ ๊ทธ๋Œ€๋กœ ์ผ๊นŒ?
  • ์–ด๋–ค container ๋‚ด์—์„œ z-index ๊ฐ’์„ ์•„๋ฌด๋ฆฌ ๋†’๊ฒŒ ์žก์•„๋„ ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ์˜ ๋ณ€ํ™”๋Š” ์—†๋Š” ๊ฒƒ์ผ๊นŒ?

ํ•ด๋‹น ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์— ๋Œ€ํ•ด ํ•˜๋‚˜์”ฉ ์˜ˆ์‹œ๋ฅผ ๋“ค๋ฉฐ ์‚ดํŽด๋ณด์ž

 

Critical rendering path(์„ฑ๋Šฅ ๋ณด์žฅ ๋ Œ๋”๋ง)

์ด์ „ ํฌ์ŠคํŒ…์—์„œ ๊ด€๋ จ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•ด๋‘์—ˆ์œผ๋‚˜, ํ•œ ๋ฒˆ ๋” ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ๊ด€๋ จ ๋‚ด์šฉ์„ ์‚ดํŽด๋ณด์ž.

 

Critical rendering path

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Render Tree์˜ ์ด์ „๊ณผ ์ดํ›„ ๋‹จ๊ณ„๋ฅผ ํฌ๊ฒŒ Construction ๋‹จ๊ณ„์™€ Operation ๋‹จ๊ณ„๋ฅผ ๋‚˜๋‰  ์ˆ˜ ์žˆ๋‹ค.

 

Construction ๋‹จ๊ณ„์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ๋งˆํฌ์—… ๋ฌธ์„œ์ธ HTML์„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ scripting ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ DOM ํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ณ , ๋ณธ ํŒŒ์ผ๊ณผ ๋ฐ”์ธ๋”ฉ๋œ ๊ด€๋ จ css ์š”์†Œ๋“ค๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์šฐ๋ฆฌ๊ฐ€ ์ •์˜ํ•˜์ง€ ์•Š์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋œ ๋ชจ๋“  ์†์„ฑ๊ฐ’๋“ค์ด cascading rules์— ๋”ฐ๋ผ CSSOM(CSS Object Model)์„ ๋งŒ๋“ ๋‹ค.

 

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ DOM๊ณผ CSSOM ๋ชจ๋ธ์€ ์›น ์ƒ์—์„œ ์‹ค์ œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์งˆ ์š”์†Œ๋“ค์„ ์„ ๋ณ„ํ•˜์—ฌ Render Tree์„ ๋งŒ๋“ ๋‹ค.

 

์ด๋•Œ ํ•˜๋‚˜ ์ค‘์š”ํ•˜๊ฒŒ ์งš๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•  ์  ์ค‘ ํ•˜๋‚˜๊ฐ€ ์žˆ๋‹ค.

 

์šฐ๋ฆฌ๊ฐ€ ์–ด๋– ํ•œ ์š”์†Œ๋ฅผ ์•ˆ ๋ณด์ด๊ฒŒ ์ฒ˜๋ฆฌํ–ˆ๋‹ค๊ฐ€ ํŠน์ •ํ•œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํ•ด๋‹น ์š”์†Œ๊ฐ€ ํ™”๋ฉด์— ๋ณด์ด๊ฒŒ ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ• ๋•Œ, display์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์ด๋Š” ๋žœ๋”๋ง ๊ณผ์ •์— ์žˆ์–ด์„œ ์—„์ฒญ๋‚œ ๋น„ํšจ์œจ์„ฑ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์•ž์„œ ๋งํ–ˆ๋˜ ๋ฐ”์™€ ๊ฐ™์ด Render Tree๋Š” ์‹ค์ œ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์งˆ ์š”์†Œ๋“ค์„ ์„ ๋ณ„ํ•˜์—ฌ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜์Œ๋ถ€ํ„ฐ ์•„์˜ˆ ์š”์†Œ๊ฐ€ ๋ณด์—ฌ์ง€์ง€ ์•Š๋„๋ก ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜์˜€๋‹ค๋ฉด, ์ด ๊ฐ’์„ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณต๊ฐ„ ์ ์œ ๋ฅผ ์œ„ํ•ด Construction ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋‹ค์‹œ ๋žœ๋”๋ง ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

(์‚ฌ์‹ค ๋‹จ๊ณ„์˜ ์ฐจ์ด๋ฟ์ด์ง€ ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋‚ด์šฉ์ด ๋ณธ ํฌ์ŠคํŒ…์—์„œ์˜ ์งˆ๋ฌธ์— ๋‹ต์ด๋‹ค)

 

์ด์— display์˜ ๊ฐ’์„ ์ง์ ‘ ๋ฐ”๊พธ๊ธฐ ๋ณด๋‹จ visible์ด๋‚˜ opacity ์†์„ฑ ๊ฐ’์„ ํšจ๊ณผ์ ์ด๋‹ค.

ํ•ด๋‹น ๋‚ด์šฉ์—์„œ๋Š” ์•„๋ž˜ ํฌ์ŠคํŒ…์—์„œ ์ •๋ฆฌํ•ด๋‘์—ˆ๋‹ค.

https://choi95.tistory.com/95?category=857835

 

์ด๋ฒคํŠธ ์ œ์–ด(pointer-events) ์†์„ฑ์„ ํ†ตํ•ด ํŒ์—…์ฐฝ ๋น„ํ™œ์„ฑํ™”

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํŒ์—…์ฐฝ์ด ์ƒˆ๋กœ ๋œจ๋„๋ก ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒ์—…์ฐฝ ์ปจํ…Œ์ด๋„ˆ์˜ ๊ฐ€์‹œ์„ฑ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ๊ฒƒ์„ CSS ์ƒ์˜ Opacity๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด, .popup-modal.is--visible { //ํ•ด

choi95.tistory.com

๋‹ค์‹œ ๋ณธ๋ก ์œผ๋กœ ๋Œ์•„์™€, Render Tree๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ฒŒ ๋˜๋ฉด ์ด์ œ๋Š” operation ๋‹จ๊ณ„๊ฐ€ ์ง„ํ–‰๋œ๋‹ค.

 

operation ๋‹จ๊ณ„ ์ค‘ layout ๋‹จ๊ณ„์—์„œ๋Š” Render Tree์— ์ ์žฌ๋œ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ์ „์ฒด ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์ƒํ•œ๋‹ค.

X์™€ Y ๊ทธ๋ฆฌ๊ณ  ๋„ˆ๋น„์™€ ๋†’์ด์™€ ๊ฐ™์€ ํฌ๊ธฐ๋“ค์ด ์ด ๋‹จ๊ณ„์—์„œ ๊ณ„์‚ฐ์ด ๋œ๋‹ค.

 

์ฆ‰, ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์–ผ๋งˆ๋งŒํผ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋ฉฐ ๊ทธ ๊ณต๊ฐ„์— ์–ด๋–ค ํฌ๊ธฐ๋กœ ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•ด์•ผ ๋ ์ง€ ๊ณ„ํšํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค.

 

๊ทธ ๋‹ค์Œ์œผ๋ก  paint ๋‹จ๊ณ„๋กœ ๋„˜์–ด์˜ค๋Š”๋ฐ, ์ด๋•Œ ์œ ์˜ํ•  ์ ์ด ํ•ด๋‹น ๋‹จ๊ณ„์—์„œ ๋ฐ”๋กœ ๋ธŒ๋ผ์šฐ์ €์— ๊ทธ๋ฆผ(ํŽธ์˜ ์ƒ ๊ทธ๋ฆผ์ด๋ผ๊ณ  ๋งํ•˜๊ฒ ๋‹ค)์„ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์šฐ๋ฆฌ๊ฐ€ ์•ž์„  layout ๋‹จ๊ณ„์—์„œ ๋ฐฐ์น˜ํ•ด๋‘” ๊ฐ๊ฐ์˜ ์š”์†Œ์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ์”ฉ ์ž˜๊ฒŒ ๋‚˜๋ˆ„์–ด์„œ ์ด๋ฏธ์ง€(BitMap)๋ฅผ ์ค€๋น„ํ•œ๋‹ค.

 

์ฆ‰, ๊ฐ๊ฐ์˜ ์š”์†Œ์— ๋Œ€ํ•ด์„œ ๋ ˆ์ด์–ด ๋ณ„๋กœ ์–ด๋–ป๊ฒŒ ๊ทธ๋ฆด์ง€์— ๋Œ€ํ•ด์„œ paint๋ฅผ ์ค€๋น„๋งŒ ํ•ด ๋†“๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์ด๋ ‡๊ฒŒ ํ•œ ๋ฒˆ์— ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ทธ๋ฆฌ์ง€ ์•Š๊ณ  ๊ฐ ์š”์†Œ๋“ค์— ๋Œ€ํ•ด์„œ ๋ ˆ์ด์–ด ๋ณ„๋กœ ์ค€๋น„๋ฅผ ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ?

 

์ด๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

 

์–ด๋–ค ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ํ›„์† ์ฒ˜๋ฆฌ๋กœ ์ธํ•ด ์–ด๋– ํ•œ ์š”์†Œ์˜ ์ผ๋ถ€๋ถ„๋งŒ์ด ์‹œ๊ฐ์ ์ธ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚œ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„๋•Œ, ๋งŒ์•ฝ์— ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด์„œ ๋ ˆ์ด์–ด ๋ณ„๋กœ ๋‚˜๋‰˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์ผ๋ถ€๋ถ„์„ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ € ์ƒ์˜ ๋ชจ๋“  ์š”์†Œ์— ๋Œ€ํ•ด์„œ ๋ณ€๊ฒฝ์„ ํ•ด์ค˜์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๋‹ค.

 

์ด์— ๋Œ€ํ•ด ์˜ˆ์‹œ๋ฅผ ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์ž.

์˜ˆ์‹œ ์ด๋ฏธ์ง€

ํ•ด๋‹น ์ด๋ฏธ์ง€ ๋‚ด ์›น์ƒ์—์„œ ๋žœ๋”๋ง๋œ ํ™”๋ฉด์€ ํ•˜๋‚˜์˜ container ํƒœ๊ทธ ๋‚ด์— ์—ฌ๋Ÿฌ ์š”์†Œ๊ฐ€ ๋žฉํ•‘๋˜์–ด ์žˆ๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ๋‹ค.

 

๋žœ๋”๋ง๋œ ์›นํŽ˜์ด์ง€๋ฅผ ๊ฐœ๋ฐœ์ฐฝ ๋„๊ตฌ ๋‚ด Layers ํ˜•์‹์œผ๋กœ ๋ฐ”๊ฟ” ๋‹ค์‹œ ์‚ดํŽด๋ณด์ž.

Layer

ํ˜„์žฌ๋Š” ๋ชจ๋“  ์š”์†Œ๊ฐ€ ํ•˜๋‚˜์˜ container ๋‚ด์— ๋žฉํ•‘๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ ˆ์ด์–ด๊ฐ€ ๋ณ„๋„๋กœ ๋‚˜๋‰˜์–ด์ ธ ์žˆ์ง€ ์•Š๊ณ  ๋‹จ๋ฉด์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

์—ฌ๊ธฐ์„œ imgํƒœ๊ทธ๋งŒ์„ container ๋‚ด์—์„œ ๋ถ„๋ฆฝํ•˜์—ฌ(์‹ค์ œ ๋ถ„๋ฆฝํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค) ๋ณ„๋„์˜ ๋ ˆ์ด์–ด๋กœ ์„ค์ •ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด z-index ๊ฐ’์„

์ตœ๋Œ€ํ•œ์œผ๋กœ ์ค€ ๋’ค ๋‹ค์‹œ ํ™•์ธํ•ด๋ด๋„ ์œ„ ์ด๋ฏธ์ง€์™€ ๋ณ„ ๋‹ค๋ฅผ ๋ฐ” ์—†์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋Š” z-index ๊ฐ’์„ ์–ผ๋งˆ๋ฅผ ์ฃผ๋“ ๊ฐ„์— container์— ํ•ด๋‹น img ํƒœ๊ทธ๋Š” ๋žฉํ•‘๋˜์–ด ์žˆ์œผ๋ฉฐ ์ด๋Š” ๊ณง ๊ฒฐ๊ตญ์—” ๋˜‘๊ฐ™์€ ๋ ˆ์ด์–ด๋กœ์„œ ํ‘œ๊ธฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋žœ๋”๋ง ๊ฒฐ๊ณผ์—์„œ ๋ณ„ ๋‹ค๋ฅธ ์ฐจ์ด๋ฅผ ๋ณผ ์ˆ˜ ์—†๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ์— ์žˆ์–ด์„œ will-change๋ฅผ ์ด์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

https://developer.mozilla.org/ko/docs/Web/CSS/will-change

 

will-change - CSS: Cascading Style Sheets | MDN

will-change CSS ์†์„ฑ์€ ์š”์†Œ์— ์˜ˆ์ƒ๋˜๋Š” ๋ณ€ํ™”์˜ ์ข…๋ฅ˜์— ๊ด€ํ•œ ํžŒํŠธ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ œ๊ณต์ผ€ ํ•œ๋‹ค.  ๊ทธ๋ž˜์„œ ์‹ค์ œ ์š”์†Œ๊ฐ€ ๋ณ€ํ™”๋˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ ์ ˆํ•˜๊ฒŒ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ์ตœ

developer.mozilla.org

The will-change CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required.

 

wil-change๋Š” ํŠน์ • ์š”์†Œ์— ๋Œ€ํ•ด์„œ ์–ด๋– ํ•œ ์†์„ฑ ๊ฐ’์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์•Œ๋ ค์ฃผ์–ด, ํ•ด๋‹น ์š”์†Œ์— ๋Œ€ํ•ด์„œ ๋ณ„๋„์˜ ๋ ˆ์ด์–ด๋ฅผ ์ค€๋น„ํ•˜๋„๋ก ๋™์ž‘์ผ€ ํ•œ๋‹ค.

 

์ด๋ ‡๊ฒŒ๋˜๋ฉด img ํƒœ๊ทธ๊ฐ€ ํฌํ•จ ๋œ ๋ณ„๋„์˜ ๋ ˆ์ด์–ด๋งŒ ๋žœ๋”๋ง ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด container์˜ ๋ ˆ์ด์–ด์— ๋Œ€ํ•ด์„œ ๋‹ค์‹œ ๋žœ๋”๋ง ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€ ์•Š์•„๋„ ๋˜๊ธฐ์— ํšจ์œจ์ ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ will-change์™€ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” ์ „์ฒด์ ์ธ ํผํฌ๋จผ์Šค์˜ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์š”์ง€๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๊ธ‰์  ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽธ์ด ์ข‹๋‹ค.

(๋ ˆ์ด์–ด๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ์ƒ๊ธฐ๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ƒ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค)

 

์ด์ œ ๋งˆ์ง€๋ง‰์œผ๋กœ ๊ทธ๋ฆผ์—์„œ๋Š” ๋‚˜์™€ ์žˆ์ง€ ์•Š์ง€๋งŒ paint ๋‹จ๊ณ„์—์„œ ์ค€๋น„ํ•ด ๋†“์€ ํ† ๋Œ€๋กœ ์‹ค์ œ ์š”์†Œ๋“ค์„ ํ™”๋ฉด ์ƒ์— ๋ฐฐ์น˜ํ•˜๊ฒŒ ๋˜๋Š” composition ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค.

 

transform-translate ์†์„ฑ ๋™์ž‘ ์›๋ฆฌ

์ด์ œ ํฌ์ŠคํŒ…์—์„œ ์ฒ˜์Œ ์˜๋ฌธ์ด์—ˆ๋˜ transform ์œ„์น˜ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๊ธฐ์ค€์ด ์™œ ์›€์ง์ผ ๋•Œ๋งˆ๋‹ค ๋™์ ์œผ๋กœ ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ์›๋ž˜ ์œ„์น˜ ๊ฐ’์ธ์ง€์— ๋Œ€ํ•ด์„œ ์–ด๋Š ์ •๋„ ์ง์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

transform-translate ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด layout shift๋Š” ์ผ์–ด๋‚˜์ง€ ์•Š์€ ์ฑ„ composition ๋‹จ๊ณ„์—์„œ๋งŒ ๋ณ€ํ™”๊ฐ€ ์ผ์–ด๋‚œ๋‹ค.

 

์ฆ‰, ๊ธฐ์กด์˜ ์‹ค์ œ position ๊ฐ’์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€๋œ ์ฑ„, ํ™”๋ฉด์— ๋žœ๋”๋ง๋œ ๊ฒฐ๊ณผ๋ฌผ์ด ์ด๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 

์ด๋Š” ๋‹ค๋ฅธ ์š”์†Œ์˜ ์˜์—ญ์— ๋Œ€ํ•ด์„œ ์–ด๋– ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

 

๋‹ค์Œ ์˜ˆ์‹œ ํ™”๋ฉด์„ ์‚ดํŽด๋ณด์ž.

transform

ํ™”๋ฉด์—์„œ ๋ณธ ๋ฐ”์™€ ๊ฐ™์ด rotate๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„ ์ฃผ์œ„์˜ ์š”์†Œ์—๋Š” ์–ด๋– ํ•œ ์˜ํ–ฅ๋„ ์ฃผ์ง€ ์•Š์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฐ˜๋ฉด์— ๊ฐ™์€ ๋™์ž‘์„ wisth์™€ height๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๋žœ๋”๋งํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

with/height

width์™€ height ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์š”์†Œ์˜ ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์ฃผ์œ„์˜ ์š”์†Œ๋ฅผ ๋ฐ€์–ด๋‚ด๊ณ  ์œ„์น˜ ๊ฐ’์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ฒฐ๋ก 

๋žœ๋”๋ง ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹จ์ˆœํžˆ will-change์™€ ๊ฐ™์ด ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ธฐ ๋ณด๋‹จ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งˆํฌ์—…์˜ ๊ณจ๊ฒฉ์„ ์ œ๋Œ€๋กœ ๊ตฌ์ถ•ํ•˜๊ณ  ์Šคํƒ€์ผ ์†์„ฑ ๋˜ํ•œ style-shift๊ฐ€ ์–ด๋””๊นŒ์ง€ ๋ฏธ์น˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์‚ฌ์ „์— ๋ช…ํ™•ํžˆ ์ธ์ง€ํ•œ ์ฑ„ ์œ ์˜ํ•ด์„œ ์จ์•ผ ํ•จ์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•  ์ˆ˜

์žˆ์—ˆ๋‹ค.

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2024/10   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ