ํฐ์คํ ๋ฆฌ ๋ทฐ
์ค๋ธ์ ํธ๋ฅผ ๋ง์ฐ์ค ์ปค์์ ๋ฐ๋ผ ์์ง์ด๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์๋ค.
top๊ณผ left ์์ฑ์ด ์๋ translate ์์ฑ์ ์ด์ฉํ์ฌ ์ด๋ฅผ ๊ตฌํํ์๋๋ฐ, ์ด๋ ๋๋๋ง ์ฑ๋ฅ์์ ์ฐจ์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋๋๋ง์ด ์งํ๋๋ ๊ณผ์ ์ ํฌ๊ฒ ๋ถ๋ฅํ์๋ฉด,
Construction( DOM CSSOM RenderTree )
Operation( layout paint composition)
์ผ๋ก ๋๋ ์ ์๋ค.
์ด๋ ์ค์ ์์๋ค์ ํ๋ฉด์ ๋ณด์ด๊ฒ๋ ํ๋ Operation ๊ณผ์ ์ค paint์์๋ DOM์ด๋ CSSOM์์ ๊ตฌ์ฑ ํ ๋ด์ฉ์ ๋ฐ๋ก ์ถ๋ ฅํ๋ ๊ฒ์ด
์๋๋ผ ๊ฐ๊ฐ์ ์์๋ค์ ์๊ฒ ๋๋ ์ ์ด๋ฏธ์ง(๋นํธ๋งต ํ์)๋ฅผ layer๋ณ๋ก ์ค๋นํ๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
์ด๋ ํ ์์ ์ ์งํํ ๊ฒฝ์ฐ ๊ฐ layer๊ฐ ์๋ ์ ์ฒด๋ฅผ ์์ ํด์ผ ํ๋ ๋นํจ์จ์ฑ์ ๋ฐฉ์งํ๊ธฐ ์ํด์์ด๋ค. ์ด๋ css ์์ฑ ์ค Will-Change๋ฅผ
์ฌ์ฉํ๋ค๋ฉด ๋ณํ๋ ์ง๋ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ฏธ๋ฆฌ ์ค๋นํ์ฌ ์ด๋ฌํ ๋นํจ์จ์ ์ธ ์ํฉ์ ์ฌ์ ์ ๋ฐฉ์งํ ์ ์์ง๋ง ์ด ๋ํ ๋จ์ฉํ๊ฒ ๋๋ฉด ๋๋๋ง
์ข์ง ๋ชปํ๋ค.
์ด๋ ๊ฒ ์ค๋น ๋ ์์๋ค์ compositon ๋จ๊ณ์์ ๋ฐฐ์น ๋ฐ ๊ตฌ์ฑ์ด ๋๋ค. layout์ ๋ณํ๊ฐ ์๊ธฐ์ง ์๋ ์ด ๋จ๊ณ์์ ์์ ์ด ์ด๋ฃจ์ด์ง๋ ๊ฒ์ด
ํจ์จ์ ์ด๋ค.
์ด๋ฅผ ์ํด ๊ฐ css ์์์ layout shift ์ถ์ด๋ฅผ ์ดํด๋ด์ผ ํ๋ค.
transform ์์๋ ์์ ๊ฐ์ด ํฌ๋กฌ์์ layout shift์ ๋ณํ๊ฐ ์ผ์ด๋์ง ์์ ์ฑ composition(์ด๋ก์) ๋จ๊ณ์์๋ง ์ด๋ฃจ์ด ์ง๋ ๊ฒ์ ํ์ธ
ํ ์ ์๋ค.
์ค์ ์์ ์์ค ์ฝ๋๋ฅผ top๊ณผ left๋ฅผ ์ด์ฉํ์ ๋์ traslate๋ฅผ ์ด์ฉํ์ ๋์ ํผํฌ๋จผ์ค๋ฅผ ๋ณด๋ฉด,
translate๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ๋ ํผํฌ๋จผ์ค ์ ์์ ์ ์ธ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ๋ ๋ฐ๋ฉด์, top/left์ ์ด์ฉํ์ ๊ฒฝ์ฐ๋ shift error๊ฐ ๋ฐ์ํ์์์ ํ์ธ
ํ ์ ์๋ค. ์ด๋ ํต์ layout shift์ 16ms์ ๋ฒ์ฃผ๋ฅผ ๋ฒ์ด๋ ๋ฐ์ํ๋ ์ค๋ฅ๋ก์, ํผํฌ๋จผ์ค์ ์ ํ๋ฅผ ๋ถ๋ฌ์ผ์ผํค๊ธฐ ๋๋ฌธ์ ์ต์ํ๋์ด์ผ
ํ๋ค.
'HTML CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
float ์์ฑ์ ์ด์ฉํ์ฌ header-menu ์์น ์กฐ์ (0) | 2021.10.06 |
---|---|
Semantic-Web๊ณผ SemanticTags์ ์ฐจ์ด (0) | 2021.10.05 |
์ด๋ฒคํธ ์ ์ด(pointer-events) ์์ฑ์ ํตํด ํ์ ์ฐฝ ๋นํ์ฑํ (0) | 2021.07.19 |
๋์ Tabs (0) | 2021.07.07 |
html, body ๋์ด๊ฐ ์ด๊ธฐํ (0) | 2021.05.16 |