์žฌ๋ฐŒ๊ฒŒ ํ•ฉ์‹œ๋‹ค

๊ธฐ๋กํ•˜๊ธฐ, ๊ฐ€์‹œํ™”ํ•˜๊ธฐ

css

React+vite์—์„œ ์ปดํฌ๋„ŒํŠธ height 100% ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์€๋˜๋”” 2022. 8. 10. 23:39

vite๋กœ ๋นŒ๋“œํ•œ React ํ”„๋กœ์ ํŠธ์—์„œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๊ฝ‰์ฐจ๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์ž.

๋ฌธ์ œ ์ƒํ™ฉ

์ปดํฌ๋„ŒํŠธ(๋ถ„ํ™์ƒ‰ ์˜์—ญ)์˜ height๋ฅผ 100%๋กœ ์„ค์ •ํ–ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์— ๊ฝ‰ ์ฐจ์ง€ ์•Š๋Š”๋‹ค.

body ํƒœ๊ทธ์— height:100vh๊ฐ€ ์„ค์ •๋˜์–ด ์žˆ์—ˆ์ง€๋งŒ ๋จนํžˆ์ง€ ์•Š์•˜๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

React - Component Full Screen (with height 100%)

์œ„ ๊ธ€์—์„œ ํžŒํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.


CRA์˜ ๊ฒฝ์šฐ body ํƒœ๊ทธ ํ•˜์œ„์— <div id="root">๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋”ฐ๋ผ์„œ html, body๋ฟ ์•„๋‹ˆ๋ผ #root์—๋„ height:100% ์„œ์‹์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค. vite๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค.

 

๋‹ค๋งŒ ๋‚˜๋Š” ๊ธ€๋กœ๋ฒŒ ์Šคํƒ€์ผ์„ main.tsx(CRA์˜ index.js)์— importํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— #root๋กœ ์„œ์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.
๋Œ€์‹  >css selector๋ฅผ ํ™œ์šฉํ–ˆ๋‹ค. <div id="root">๋Š” body ํƒœ๊ทธ์˜ ์ฒซ ์ž์†๋…ธ๋“œ์ด๋ฏ€๋กœ!

 

html, body, body > div ๋ชจ๋‘์— height:100%์„ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

html,
body,
body > div {
  height: 100%;
  margin: 0;
}

์ ์šฉ๋œ ๋ชจ์Šต