February 20, 2021
๊ทธ๋ฆฌ๋ ์์์ 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;
}
์ด๊ธฐ ์ฝ๋์ ๊ทธ ๋ ๋ณด์ฌ์ง๋ ๋ ์ด์์์ด๋ค. ๊ทธ๋ฆฌ๋์ width ๋ฅผ ์ค์ ๋ฑ ํด๋น ํญ ๋งํผ์ ๊ทธ๋ฆฌ๋๊ฐ ์์ฑ๋์๋ค.
grid width ํญ์ ์์ ๊ณ
grid-template-columns: repeat(4, 1fr);
๋ฅผ ์ ์ฉํด ์ฃผ์๋ค. ๊ธฐ์กด ๋๋ฒ์งธ ์ธ์์ 100px ์ ๋ฃ์์๋๋ฐ 1fr ๋ก ๋ณ๊ฒฝํ๋ค.
1fr ์ฉ ์ฐจ์งํ๊ฒ ํ๊ณ ๋ธ๋ผ์ฐ์ ์์ ์ ์ฒด column ์ ๋ณด๋ฉด body ์ ๋ชจ๋ ๋ถ๋ถ์ ๊ฐ์ง๊ฒ ๋๋ค.
fraction : Grid ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์๋ฏธํ๋ฉฐ,
๊ทธ๋ฆฌ๋์ ๋๋น๊ฐ 500px ์ด๋ผ๋ฉด ํด๋น ๊ณต๊ฐ๋งํผ๋ง fraction ์ ๊ฐ์ง๊ฒ ๋๋.
grid-template-columns: 4fr 1fr 1fr 1fr;
grid-template-rows: repeat(4, 100px);
์ด๋ฒ์๋ ์ข ๋ ๋ณด๊ธฐ ์ข๊ฒ rows ๋ฅผ ์ถ๊ฐํด ์ฃผ์๋ค.
์ปฌ๋ผ ์ฒซ ๋ฒ์งธ์ 4fr ์ ๋ค๋ฅธ ์ปฌ๋ผ์ ํญ๋ณด๋ค ๋ค ๋ฐฐ ๋ ํฌ๋ค๋ ์๋ฏธ๊ฐ ๋๋ค. ์ ๋ถ 4fr ๋ก ๋ฐ๊ฟ๋ ์ด์ฐจํผ ๋น์จ ๊ธฐ์ค์ด๋ผ ๋ชจ๋ 1fr ํ ๊ฒ๊ณผ ๋๊ฐ์ด ๋๋ค.
์ด๋ ๊ฒ ํ๋๊น grid ๊ฐ ์ฌ๋ผ์ ธ๋ฒ๋ ธ๋ค?! ๋ธ๋ผ์ฐ์ ์ ์์ง์ผ๋ก๋ ๊ณต๊ฐ์ด ์๊ธฐ, ์ฆ grid ์ ๋์ด๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋์ ๋์ด๋ฅผ ์ฃผ์๋ค.
grid-template-columns: repeat(4, 1fr);
grid-template-rows: repeat(4, 1fr);
height: 50vh;
์ด๋ฌ๋ฉด ํ๋ฉด์ ์ ๋ฐ ์์ 1/4 ๊ฐ 1fr ์ด ๋๋ค.
์์ ์ ์ฉ์ฌํญ์ ์ฃผ์์ฒ๋ฆฌ ํด์ค ๋ค, ๊ทธ๋ฆฌ๋ ํ ํ๋ฆฟ์ ๋ง๋ค์.
์ ๋ฒ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ปฌ๋ผ์ ๋ง๋ค๋ฉด์ ๊ทธ 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;
}
์ฌํผ ์์ ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ๋ ํญ์ ๊ฐ์ ๋น์จ๋ก ์ ์งํ๋ค๋ ๊ฒ์ด๋ค. ๋ฐ๋ก fr ๋๋ถ์!