๐Ÿ”ฅFinal Project Day 4 - Grid ์—์„œ์˜ FR์— ๋Œ€ํ•ด

๐Ÿ„Fraction (๋ถ€๋ถ„) ์— ๋Œ€ํ•ด

๊ทธ๋ฆฌ๋“œ ์—์„œ์˜ fr ์€ fraction (๋ถ€๋ถ„), pixel, % ๊ฐ™์€ ์ธก์ • ๋‹จ์œ„๋ผ๊ณ  ํ•œ๋‹ค.

/* fr : fraction (๋ถ€๋ถ„), pixel, % ๊ฐ™์€ ์ธก์ • ๋‹จ์œ„์ž„ */
.grid {
  display: grid;
  gap: 5px;
  width: 500px;
  grid-template-columns: repeat(4, 100px);
}

.header {
  background: #2ecc71;
}
.content {
  background: #3498db;
}
.nav {
  background: #8e44ad;
}
.footer {
  background: #f39c12;
}

1

์ดˆ๊ธฐ ์ฝ”๋“œ์™€ ๊ทธ ๋•Œ ๋ณด์—ฌ์ง€๋Š” ๋ ˆ์ด์•„์›ƒ์ด๋‹ค. ๊ทธ๋ฆฌ๋“œ์— width ๋ฅผ ์ค˜์„œ ๋”ฑ ํ•ด๋‹น ํญ ๋งŒํผ์˜ ๊ทธ๋ฆฌ๋“œ๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

๐Ÿ„100px ๋Œ€์‹  1fr ์„ ์ ์šฉํ•ด ๋ณด๊ธฐ

2

grid width ํญ์„ ์—†์• ๊ณ 

grid-template-columns: repeat(4, 1fr);

๋ฅผ ์ ์šฉํ•ด ์ฃผ์—ˆ๋‹ค. ๊ธฐ์กด ๋‘๋ฒˆ์งธ ์ธ์ž์— 100px ์„ ๋„ฃ์—ˆ์—ˆ๋Š”๋ฐ 1fr ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค.

1fr ์”ฉ ์ฐจ์ง€ํ•˜๊ฒŒ ํ–ˆ๊ณ  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ „์ฒด column ์„ ๋ณด๋ฉด body ์˜ ๋ชจ๋“  ๋ถ€๋ถ„์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค.

fraction : Grid ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์„ ์˜๋ฏธํ•˜๋ฉฐ,

๊ทธ๋ฆฌ๋“œ์˜ ๋„ˆ๋น„๊ฐ€ 500px ์ด๋ผ๋ฉด ํ•ด๋‹น ๊ณต๊ฐ„๋งŒํผ๋งŒ fraction ์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋””.

๐Ÿ„์ปฌ๋Ÿผ๋ณ„๋กœ fr ์ ์šฉํ•ด ๋ณด๊ธฐ

3

grid-template-columns: 4fr 1fr 1fr 1fr;
grid-template-rows: repeat(4, 100px);

์ด๋ฒˆ์—๋Š” ์ข€ ๋” ๋ณด๊ธฐ ์ข‹๊ฒŒ rows ๋ฅผ ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค.

์ปฌ๋Ÿผ ์ฒซ ๋ฒˆ์งธ์— 4fr ์€ ๋‹ค๋ฅธ ์ปฌ๋Ÿผ์˜ ํญ๋ณด๋‹ค ๋„ค ๋ฐฐ ๋” ํฌ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค. ์ „๋ถ€ 4fr ๋กœ ๋ฐ”๊ฟ”๋„ ์–ด์ฐจํ”ผ ๋น„์œจ ๊ธฐ์ค€์ด๋ผ ๋ชจ๋‘ 1fr ํ•œ ๊ฒƒ๊ณผ ๋˜‘๊ฐ™์ด ๋œ๋‹ค.

๐Ÿ„์ปฌ๋Ÿผ๋ณ„๋กœ fr ์ ์šฉํ•ด ๋ณด๊ธฐ 2

์ด๋ ‡๊ฒŒ ํ•˜๋‹ˆ๊นŒ grid ๊ฐ€ ์‚ฌ๋ผ์ ธ๋ฒ„๋ ธ๋‹ค?! ๋ธŒ๋ผ์šฐ์ €์˜ ์ˆ˜์ง์œผ๋กœ๋Š” ๊ณต๊ฐ„์ด ์—†๊ธฐ, ์ฆ‰ grid ์˜ ๋†’์ด๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ทธ๋ž˜์„œ ๋†’์ด๋ฅผ ์ฃผ์—ˆ๋‹ค.

grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);

height: 50vh;

์ด๋Ÿฌ๋ฉด ํ™”๋ฉด์˜ ์ ˆ๋ฐ˜ ์—์„œ 1/4 ๊ฐ€ 1fr ์ด ๋œ๋‹ค.

๐Ÿ„grid-template ์™€ fr ์„ ๋™์‹œ ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ

์œ„์— ์ ์šฉ์‚ฌํ•ญ์„ ์ฃผ์„์ฒ˜๋ฆฌ ํ•ด์ค€ ๋’ค, ๊ทธ๋ฆฌ๋“œ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค์ž.

์ €๋ฒˆ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ปฌ๋Ÿผ์„ ๋งŒ๋“ค๋ฉด์„œ ๊ทธ row ์˜ ๋†’์ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€ ์ถ”๊ฐ€๋กœ ์ž‘์„ฑํ•˜์˜€๋‹ค.

grid-template:
  'header header header header' 1fr
  'content content content nav' 2fr
  'footer footer footer footer' 1fr / 1fr 1fr 1fr 1fr;

์ปฌ๋Ÿผ์„ ๋งŒ๋“ค๋ฉด์„œ ๋งจ ์˜ค๋ฅธ์ชฝ์—๋Š” ํ•ด๋‹น row ์˜ ๋†’์ด๋ฅผ fr ๋กœ ํ‘œ๊ธฐํ–ˆ๋‹ค.

๋งˆ์ง€๋ง‰ slash ๋‹ค์Œ์—๋Š” ๊ฐ column ๋งˆ๋‹ค ํญ(width) ์ด ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€ ๊ตฌ์ฒด์ ์œผ๋กœ ์ ์—ˆ๋‹ค.

์ด์ œ grid-template ์„ ์ผ์œผ๋‹ˆ, ๋‹ค์Œ์œผ๋กœ ๊ฐ ํด๋ž˜์Šค์— grid-area ๋กœ ์ด๋ฆ„์„ ์ฃผ์ž.

.header {
  background: #2ecc71;
  grid-area: header;
}
.content {
  background: #3498db;
  grid-area: content;
}
.nav {
  background: #8e44ad;
  grid-area: nav;
}
.footer {
  background: #f39c12;
  grid-area: footer;
}

4

์—ฌํŠผ ์š”์ ์€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์—ฌ๋„ ํ•ญ์ƒ ๊ฐ™์€ ๋น„์œจ๋กœ ์œ ์ง€ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ฐ”๋กœ fr ๋•๋ถ„์—!


Written by@[DotoriMook]
ํ”„๋ก ํŠธ์—”๋“œ ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž ๋„ํ† ๋ฆฌ๋ฌต์˜ ๊ธฐ์ˆ ๊ฐœ๋ฐœ ๋ธ”๋กœ๊ทธ ์ž…๋‹ˆ๋‹ค.

GitHubMediumTwitterFacebook