Grid Layout๋ฅผ ์์์ผ ํ๋ ์ด์
์นํ์ด์ง์์ ์์๋ฅผ ์ปค๋ค๋ ํ
์ด๋ธ ์ฒ๋ผ ํ๊ณผ ์ด๋ก ๊น๋ํ๊ฒ ๊ตฌํํ๊ณ ์ถ๋ค๋ฉด
์ด ๋ฌธ์๋ฅผ ๋ณด๊ณ ๋๋ฉด
Grid ์์ฑ์ ์ด์ฉํ์ฌ, ์นํ์ด์ง ๋ ์ด์์์ ๊ตฌ์ฑํ ์ ์๋ค.
CSS: Grid Layout
์ ํ๋ธ ๊ฐ์์ค ๋ฏธ์
์ด์ ์ UI๋ค์ ์ฃผ๋ก ํ ๋ฐฉํฅ ๋ ์ด์์์ ๊ณ ๋ คํ Flex ์์ฑ์ ํ์ฉํ 1์ฐจ์์ด์๋ค๋ฉด, Grid๋ ๋ ๋ฐฉํฅ(๊ฐ๋ก-์ธ๋ก)๋ฅผ ๊ณ ๋ คํ 2์ฐจ์ ๋ ์ด์์์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ ํตํด ์ฝํ
์ธ ๋ฅผ ํ๊ณผ ์ด์ ๋ฐฐ์นํ ์ ์์ผ๋ฉฐ ๋ณต์กํ ๋ ์ด์์์ ์ง๊ด์ ์ผ๋ก ๊ตฌ์ถํ ์ ์์ต๋๋ค.
CSS ๊ทธ๋ฆฌ๋์ ๋๊ฐ์ง ์ฃผ์ ์์๋ wrapper(๋ถ๋ชจ ์์)์ items(์์ ์์)์
๋๋ค. wrapper๋ ๊ฐ์ธ์ฃผ๋ ๊ทธ๋ฆฌ๋์ด๊ณ item๋ค์ ๊ทธ๋ฆฌ๋ ๋ด๋ถ์ ์์๋ค์
๋๋ค.
<div class="wrapper">
<div>One</div>
<div>Two</div>
<div>Three</div>
<div>Four</div>
<div>Five</div>
</div>
HTML
๋ณต์ฌ
์ฌ๊ธฐ์ ๋ถ๋ชจ div๋ฅผ grid๋ก ๋ฐ๊พธ๋ ค๋ฉด, display๋ฅผ grid๋ก ์ค์ ํ๋ฉด ๋ฉ๋๋ค.
.wrapper {
display: grid;
}
CSS
๋ณต์ฌ
ํ์ฌ๋ ์ด๋ป๊ฒ grid๋ฅผ ์ค์ ํ ๊ฒ์ธ์ง ์
ํ
ํ ๊ฐ์ด ์์ผ๋ฏ๋ก ๋จ์ํ 5๊ฐ์ div๋ค์ด ์์ฌ์๋ ๋ชจ์ต์ผ๋ก ๋ณด์ฌ์ง๋๋ค.
Column๊ณผ row
๊ทธ๋ฆฌ๋๋ฅผ 2์ฐจ์์ผ๋ก ๋๋๊ธฐ ์ํด์๋ column๊ณผ row๋ฅผ ์ ์ํด์ค์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 3๊ฐ์ column๊ณผ 2๊ฐ์ row๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
.wrapper {
display: grid;
grid-template-columns: 200px 200px 200px;
grid-template-rows: 50px 50px;
}
CSS
๋ณต์ฌ
grid-template-columns์ 3๊ฐ์ ๊ฐ, grid-template-rows์ 2๊ฐ์ ๊ฐ์ ์ ์ํด์ฃผ๋ฉด 3๊ฐ์ column๊ณผ 2๊ฐ์ row๋ฅผ ํํํ ์ ์์ต๋๋ค. ๊ฐ๋ค์ column์ ๋๋น(200px)์, row์ ๋์ด(50px)์ ์๋ฏธํฉ๋๋ค.
์ด ์ธ์ ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ ํจ๊ณผ์ ์ผ๋ก ํํํ๊ธฐ ์ํ ๋ค์ํ ์์ฑ๋ค์ด ์กด์ฌํฉ๋๋ค.
์ ๋ฆฌ
โข
Grid Layout์ 2์ฐจ์์ผ๋ก ์นํ์ด์ง๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ ๋ ์ด์์ ๋ฐฉ๋ฒ์ด๋ค.
์ฐธ๊ณ ๋งํฌ
โข