# Reference
aproid blog - CSS Transition ์ฑ๋ฅ ์ต์ ํ by aproid
https://aproid.github.io/2019/03/21/transition-optimize/
yceffort blog - CSS ์ฑ๋ฅ ํฅ์์ํค๊ธฐ
wonism blog - Critical Rendering Path๋?
https://wonism.github.io/critical-rendering-path/
0) ํ์ต๊ฐ์
์์ฃผ๋ํ๊ต ์ค์๋์๋ฆฌ Do-iT 21๋ ๋๊ณ ์นํฉ ์คํฐ๋์์ ํ์ตํ ๋ด์ฉ๋ค์ ๋ธ๋ก๊ทธ๋ก ์ ๋ฆฌํ๋ฉฐ ๋ณต์ตํ๊ธฐ ์ํจ
1) CSS์ HTML ์ ์ฉ์์
CSS๋ HTML์ด ๋ก๋ฉ๋ ์ดํ ํ์ผ ๋ด์ ํฌํจ๋ css url์ ํตํด ๋ก๋๋ฉ๋๋ค.
๋ก๋๋ CSS๋ ์ด 4๊ฐ์ ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋ฉฐ HTML์ ์ ์ฉ๋๋๋ฐ,
์ด ๋จ๊ณ๋ ์ฃผ์ ๋ ๋๋ง ๊ฒฝ๋ก (Critical Rendering Path, ์ดํ CRP)์์ CSS์ ๊ด๋ จ๋ ๋จ๊ณ๋ง ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
1. CSS ๊ฐ์ฒด ๋ชจ๋ธ ๋ง๋ค๊ธฐ ( CSSOM )
CRP์ ๋ฐ๋ผ ์ด ๋จ๊ณ ์ด์ ์ DOM ํธ๋ฆฌ๊ฐ ์์ฑ๋ฉ๋๋ค.
CSSOM์ DOM๊ณผ ๋น์ทํ๊ฒ CSS๋ฅผ ์ ์ดํ ์ ์๋ ๊ฐ์ฒด๊ธฐ๋ฐ ๋ชจ๋ธ์ ๋งํฉ๋๋ค.
CSSOM์ ํน์ง์ ๋ถ๋ถ์ ์ธ ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ธ๋ฐ, ๋ค์๋งํด ๋ชจ๋ CSS๊ฐ ํ์ฑ๋๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ์์ ์ ๋ชจ๋ ์ผ์์ ์ผ๋ก ์ค์ง๋ฉ๋๋ค.
์ด๋ ๋ค์ ์ถ๊ฐ๋ css๊ฐ ์ด์ css ์์ฑ์ ๋ฎ๋ css์ ๊ตฌ์กฐ ์ ์๋ชป๋ css๊ฐ ์ ์ฉ๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ๋์์ ๋๋ค.
2. ๋ ๋ ํธ๋ฆฌ ๋ง๋ค๊ธฐ
์์ ์์ฑ๋ DOM๊ณผ CSSOM์ ํฉ์น๋ ๊ณผ์ ์ ๋๋ค.
์ต์ข ์ ์ผ๋ก ํ๋ฉด์ ๋ ๋๋ง๋๋ ์์๋ค๋ง ์ด ํธ๋ฆฌ์ ํฌํจ๋๋๋ฐ,
์ด ๋๋ฌธ์ "display: none;"์ต์ ์ผ๋ก ์จ๊ฒจ์ง ์์๋ ์ด ํธ๋ฆฌ์์ ์ ์ธ๋ฉ๋๋ค.
3. ๋ ์ด์์
๋ ๋ํธ๋ฆฌ์ ๊ฐ ๊ฐ์ฒด์ ๋ํ ์ ํํ ์ฉ๋๊ณผ ์์น๋ฅผ ๊ณ์ฐํฉ๋๋ค.
4. ํ์ธํธ
๋ ๋ํธ๋ฆฌ๋ฅผ ์ํํ๋ฉด์ ํ๋ฉด์ CSS๊ฐ ์ ํ์ง ์์๋ค์ ๋ ๋๋งํฉ๋๋ค.
2) CSS ๋ด ์ฐ์ฐ์์
์์ ๊ณผ์ ๋ค ์ค 3, 4 ๋จ๊ณ๋ CSS ์ ๋ณด๋ค์ ์ค์ ๋ก ํํํ๊ธฐ ์ํ ์ฐ์ฐ์ด ์งํ๋๋ ๊ณผ์ ์ ๋๋ค.
์ด ๊ณผ์ ์ ์กฐ๊ธ ๋ ์์ธํ ๊ตฌ๋ถํ๋ฉด ์๋์ ๊ฐ์ด ์ ๋ฆฌ๋ฉ๋๋ค.
1. Styles
์ ๋จ๊ณ๋ค ์ค 3๋ฒ์งธ์ ํด๋นํฉ๋๋ค.
์์์ ์ ์ฉํ ์คํ์ผ์ ๊ณ์ฐํ๋ ๊ณผ์ ์ ๋๋ค.
2. Layout
3๋ฒ์งธ ๋จ๊ณ์ ํฌํจ๋์ง๋ง Styles ๊ณผ์ ์ด ์๋ฃ๋ ํ ์คํ๋๋ ๋จ๊ณ์ ๋๋ค.
css ์ต์ ๋ค ์ค ์๋ ์ต์ ๋ค์ด ์ด ๋จ๊ณ์์ ๊ณ์ฐ๋ฉ๋๋ค.
3. Paint
4๋ฒ์งธ ๋จ๊ณ์ ํด๋นํ๋ ์์ ์ ๋๋ค. ๊ฐ ์์๋ค์ ํฝ์ ์ ์ฑ์ฐ๋ ๋จ๊ณ์ ๋๋ค.
css ์ต์ ๋ค ์ค ๋ํ์ ์ผ๋ก ์๋ ์ต์ ๋ค์ด ์ด ๋จ๊ณ์์ ๊ณ์ฐ๋ฉ๋๋ค.
๋ค๋ฅธ ๋จ๊ณ์ ํฌํจ๋์ง ์๋ ๋ค๋ฅธ ์ต์ ๋ค๋ ์ด ๋จ๊ณ์์ ๊ณ์ฐ๋ฉ๋๋ค.
4. Composite
๊ฐ์ฅ ๋ง์ง๋ง ๋จ๊ณ๋ก, ๋ธ๋ผ์ฐ์ ๊ฐ ํ๋ฉด์ ๊ทธ๋ ค๋ผ ๋ ์ ์ฉ๋๋ ๋จ๊ณ์ ๋๋ค.
2๊ฐ์ ์ต์ ๋ง ์ด ๋จ๊ณ์์ ์ ์ฉ๋ฉ๋๋ค.
transform
opacity
3) CSS ํ์ฑ ํน์ง: ๋ ๋๋ง ์ฐจ๋จ
HTML๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, CSS๋ ์ผ๋ฐ์ ์ผ๋ก CSSOM์ด ์์ฑ๋๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ๋ชจ๋ ์ปจํ ์ธ ๋ฅผ ๋ ๋๋งํ์ง ์์ต๋๋ค.
๋จ, media๋ฅผ ํตํด ์กฐ๊ฑด์ ์ค์ ํด์ค ๊ฒฝ์ฐ ํด๋น ์กฐ๊ฑด์ด ๋ง์กฑ๋ ๋์๋ง ์ ์ฉ๋ฉ๋๋ค.
'๐ [STUDY] ๊ฐ๋ฐ > ๋๊ณ ์คํฐ๋ [Do-iT: ์นํฉ] (2021)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ JS ] ์ํ ๋ฏน ์ปดํฌ๋ํธ ๋์์ธ ๊ฐ๋ฐ ํจํด (0) | 2022.02.09 |
---|---|
[ JS ] Babel & EsLint (0) | 2022.01.24 |
[ JS ] Prototype (0) | 2022.01.06 |