2021/06/09
ํ์์ ๊ฐ๋ฐ ๊ด๋ จ์ด ์๋๋๋ผ๋ ์์ ๋ ๋๋ง์ด๋ผ๋ ์ง ๋ ๋๋ง
์ด๋ผ๋ ๋ง์ ๋ค์ด๋ณธ ์ ์ด ์์ ๊ฒ์
๋๋ค.
๋ ๋๋ง
์ด๋ ์ฝ๊ฒ ๋งํด ํ๋ฉด์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ํ์์
๋๋ค.
๋์๊ฐ์
๋ธ๋ผ์ฐ์ ๋ ๋๋ง
์ HTML
๋ฑ์ ์ด์ฉํด์ ๋ธ๋ผ์ฐ์ ์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ํ์๋ฅผ ๋ปํ์ฃ .
๋ชจ๋ ๊ทธ๋ฆผ์๋ ๋ฐ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๊ณ ์์ ์น ํ๊ณ , ๊ณผ์ ์ด ํ์ํฉ๋๋ค.
์์ ์คํฐ์ง๋ฐฅ ์งค์ฒ๋ผ ์์ ๊ทธ๋ฆฌ๋ ๋ฐ์๋ ๊ธด ๊ณผ์ ์ด ํ์ํด์
๋ธ๋ผ์ฐ์ ๋ ๋๋ง
๋ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.
์, ์ค๋น๋ฌผ์ ์์๋ด ์๋ค.
์ด๊ฒ๋ค์ ์ง๋ด์ ๋ธ๋ผ์ฐ์ ์ ๊ทธ๋ฆผ์ ๊ทธ๋ ค๋ด ์๋ค!
HTML
๋ก ๋ถํฐ DOM(Document Object Model)
์ ์์ฑํฉ๋๋ค. ๋๋ต ์ ๊ทธ๋ฆผ์ฒ๋ผ ์๊ฒผ์ด์.
CSS
๋ก ๋ถํฐ CSSOM(CSS Object Model)
์ ์์ฑํฉ๋๋ค. ๋ ๋ค ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๋์ด์๊ตฐ์.DOM
๊ณผ CSSOM
์ ์๋ก ๋
๋ฆฝ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค.DOM-tree
์ CSSOM-tree
๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ผ๋ ๋ธ๋ผ์ฐ์ ์ ๋นจ๋ฆฌ HTML
๊ณผ CSS
๋ฅผ ์ ๊ณตํด์ผ๊ฒ ์ฃ ?์ ์ด์ ๋ง๋ค์ด ๋์ DOM
๊ณผ CSSOM
์ ํฉ์ณ๋ณผ ์ฐจ๋ก์
๋๋ค.
DOM
๊ณผ CSSOM
์ด ํฉ์ณ์ ธ Render Tree
๋ฅผ ํ์ฑํฉ๋๋ค.์ด๋ฌํ ๋ ๋๋ง ํธ๋ฆฌ
์๋ ํ์ด์ง๋ฅผ ๋ ๋๋งํ๋ ๋ฐ ํ์ํ ๋
ธ๋๋ง ํฌํจ๋ฉ๋๋ค.
ํ์ด์ง์ ํํ๋์ง ์๋ ๋ ธ๋๋ค์
๋ ๋๋ง ํธ๋ฆฌ
์ ํฌํจ๋์ง ์์์! ex) ์ ๊ทธ๋ฆผ์display: none;
ํ์ง๋ง
visibility: hidden;
์ ๋ณด์ด์ง๋ ์์๋ ๊ณต๊ฐ์ ์ฐจ์งํ๊ธฐ ๋๋ฌธ์๋ ๋๋ง ํธ๋ฆฌ
์ ํฌํจ๋ฉ๋๋ค!
๋ ๋๋ง ํธ๋ฆฌ
๊ฐ ์์ฑ๋์์ผ๋ ์ด์ ๊ณต๊ฐ์ ๊ฐ๋ ํด๋ณผ ์ฐจ๋ก์
๋๋ค. ๊ทธ๋ฆผ์ผ๋ก ์น๋ฉด ๋ฐ๊ทธ๋ฆผ ์ ๋์ฃ .
์ ๊ทธ๋ฆผ์์์ฒ๋ผ ๋ทฐํฌํธ
๋ด๋ถ์์ ๋ ๋๋ง ํธ๋ฆฌ
๊ฐ ๊ฐ์ง ๋
ธ๋
๋ค์ ์์น๋ฅผ ๊ณ์ฐํฉ๋๋ค.
์ ๋ชจ๋ ๊ฒ์ด ์ค๋น๋์์ผ๋ ์ด์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆด ์ผ๋ง ๋จ์๋ค์!
๊ทธ๋ฆด ๊ทธ๋ฆผ์ด ์ผ๋ง๋ ๋ณต์กํ๋๋, ์ผ๋ง๋ ๋ง์ผ๋์ ๋ฐ๋ผ ์๊ฐ์ด ์ฒ์ฐจ๋ง๋ณ์ ๋๋ค.
CSS
ํ์ผ์ ํฌ๊ธฐ๊ฐ ํฌ๊ฑฐ๋, ์์ด ๋ค์ฑ๋กญ๊ฑฐ๋, ๊ณ์ฐํด์ผํ๋ ๊ทธ๋ฆผ์ ๊ฐ์ ๊ฒ ์์ผ๋ฉด ๋ ๊ธธ์ด์ง๊ฒ ์ฃ ?์, ๋ง์ง๋ง์ผ๋ก ์ ๋ฆฌ๋ฅผ ํด๋ด ์๋ค.
HTML
, CSS
๋ฅผ ๋ฐ์์์ DOM
, CSSOM
ํธ๋ฆฌ๋ฅผ ๋ง๋ค์์ต๋๋ค.DOM
, CSSOM
๋ฅผ ํฉ์ณ Render Tree
๋ฅผ ๋ง๋ค์ด๋
๋๋ค.Render Tree
์ ๋
ธ๋
๋ฅผ ์ํํ๋ฉฐ ๋ทฐํฌํธ
๋ด์ ์ฐจ์งํ ๊ณต๊ฐ์ ๊ณ์ฐํฉ๋๋ค.๋
ธ๋
๋ค์ ํ๋ฉด์ ํ์ธํธ ํ๋ฉด ๋ฉ๋๋ค!๊ฐ๋จํด๋ณด์ด์ง๋ง DOM
์ด๋ CSSOM
์ด ์์ ๋๊ธฐ๋ผ๋ ํ๋ฉด ์ ๋ถ ์ฒ์๋ถํฐ ๋ฐ๋ณตํด์ผ ํฉ๋๋ค.
์ด๋์ ์ฐธ ์ฝ์ฃ ?
์ฃผ์ ๋ ๋๋ง ์ต์ ํ ์์ ์ด๋ผ๋ ๊ฒ ์์ผ๋ ์ฐพ์๋ณด์๋ฉด ๋์์ด ๋ ๊ฒ๋๋ค!