Grid System
bootstrap์์ ์ ์ํ layout์ผ๋ก์ containers, rows ๊ทธ๋ฆฌ๊ณ columns ๋ฅผ ์ฌ์ฉํด์ ์ปจํ
์ธ ๋ฅผ ๋ ์ด์์ํ๊ณ ์ ๋ ฌ
1 Bootstrap
The most popular HTML, CSS, and JS library in the world.
- ์น์์ bootsrtap๊ฐ์ ธ์ค๊ธฐ
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
</head>
<body>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
</body>
1.1 ํน์ง
- ํธ์ํฐ์์ ์์๋ ์คํ ์์ค ํ๋ก ํธ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์น ํ์ด์ง์์ ๋ง์ด ์ฐ์ด๋ ์์๋ฅผ ๊ฑฐ์ ์ ๋ถ ๋ด์ฅํ๊ณ ์๋ค.
- ๋์์ธ์ ํ ์๊ฐ์ด ํฌ๊ฒ ์ค์ด๋ค๊ณ , ์ฌ๋ฌ ์น ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ๊ธฐ ์ํ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ ๊ณจ๋จธ๋ฆฌ๋ฅผ ์ฉ์ผ ํ์๊ฐ ์๋ค.
- ์น ๋ธ๋ผ์ฐ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ์๋์ผ๋ก ์ ๋ ฌ๋๋ "๊ทธ๋ฆฌ๋ ์์คํ
"์ ์ง์ํ๋ฉฐ,
- "one souce multi use" โ ๋ฐ์ํ ์น ๋์์ธ์ ์ถ๊ตฌํ๋ค.
1.2 Responsive web design
- layout์ ๋ฐฉ๋ฌธ์์ ํ๋ฉด ํด์๋๋ฅผ ๊ณ ๋ คํ์ฌ์ผ ํ๋ค.
- ์ค๋งํธํฐ์ด๋ ํ๋ธ๋ฆฟ ๋ฑ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ๋ ํ๋ฉด์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋
์ฑ์ ๋์ฑ ์ ๊ฒฝ์จ์ผ ํ๋ค.
- ๋ณดํต ์น์ฌ์ดํธ๊ฐ ์ถ์๋์ด ๊ฐ๋ก ์คํฌ๋กค ์์ด ์ฝํ
์ธ ๋ฅผ ๋ณผ ์ ์์ผ๋ ๊ธ์๊ฐ ๋๋ฌด ์์์ง๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ฐ์คํฌํ์ฉ, ํ
๋ธ๋ฆฟ์ฉ, ๋ชจ๋ฐ์ผ์ฉ ์น์ฌ์ดํธ๋ฅผ ๋ณ๋ ๊ตฌ์ถํ ์๋ ์์ง๋ง One Source Multi Use์ ๊ด์ ์์ ์ฌ๋ฐ๋ฅธ ํด๊ฒฐ์ฑ
์ ์๋๋ค.
- ๋ฐ์ํ ์น ๋์์ธ(Responsive Web Design)์ ํ๋ฉด ํด์๋์ ๋ฐ๋ผ ๊ฐ๋กํญ์ด๋ ๋ฐฐ์น๋ฅผ ๋ณ๊ฒฝํ์ฌ ๊ฐ๋
์ฑ์ ๋์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
- ์ฆ, ํ๋์ ์น์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ์ฌ ๋ค์ํ ๋๋ฐ์ด์ค์ ํ๋ฉด ํด์๋์ ์ต์ ํ๋ ์น์ฌ์ดํธ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด๋ค.
2 Bootstrap Grid System
2.1 Grid System
- ๋ถํธ์คํธ๋ฉ์ grid system ์ containers, rows ๊ทธ๋ฆฌ๊ณ columns ๋ฅผ ์ฌ์ฉํด์ ์ปจํ
์ธ ๋ฅผ ๋ ์ด์์ํ๊ณ ์ ๋ ฌํ๋ค.
- ๋ชจ๋ฐ์ผ ์ฐ์ flexbox grid ๋ฅผ ์ฌ์ฉํ์ฌ 12๊ฐ์ column ์์คํ
์ ๊ฐ์ง๊ณ ์๋ค.
- ์ 12 columns ์ผ๊น ?
- 12๋ ์ฝ์๊ฐ ๊ฐ์ฅ ๋ง๊ธฐ ๋๋ฌธ์ ํ ์ค์ ํ์ํ ์ ์๋ ์ข
๋ฅ๊ฐ ์ ์ผ ๋ง๋ค.
- ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ์ฌ์ฉํ๋ค.
- .container > .row > col-*
2.2 row
<div class="container">
<div class="row">
<div class="col">
<h3> grid system </h3>
<p> ์ฌ๊ธฐ์์ ๊ตฌํ๋ฉ๋๋น</p>
</div>
</div>
</div>
- row ๋ columns ์ wrapper ์ด๋ค.
- ๊ฐ column ์๋ ๊ณต๊ฐ ์ฌ์ด๋ฅผ ์ ์ดํ๊ธฐ ์ํ ์ข์ฐ padding ๊ฐ์ด ์๋๋ฐ ์ด๋ฅผ
gutter
๋ผ๊ณ ๋ ํ๋ค.
- row ์ margin ๊ฐ๊ณผ gutter ๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด .row ์
.no-gutters
class ๋ฅผ ์ฌ์ฉํ๋ค.
2.3 .col / .col-*
- column class ๋ row ๋น ๊ฐ๋ฅํ 12๊ฐ ์ค ์ฌ์ฉํ๋ ค๋ columns ์๋ฅผ ๋ํ๋ธ๋ค.
- columns ๋๋น๋ ๋ฐฑ๋ถ์จ๋ก ์ค์ ๋๋ฏ๋ก ํญ์ ๋ถ๋ชจ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ์กฐ์ ๋๋ค.
- grid layout ์์ ๋ด์ฉ์ ๋ฐ๋์ columns ์์ ์์ด์ผ ํ๋ฉฐ ๊ทธ๋ฆฌ๊ณ ์ค์ง columns ๋ง row ์ ๋ฐ๋ก ํ์ ์์ ์ผ ์ ์๋ค.
2.4 offset
offset-*
์ ์ง์ ํ ๋งํผ์ column ๊ณต๊ฐ์ ๋ฌด์ํ๊ณ ๋ค์ ๊ณต๊ฐ๋ถํฐ ์ปจํ
์ธ ๋ฅผ ์ ์ฉํ๋ค.
2.5 Nesting
- .row > .col- > .row > .col- ์ ๋ฐฉ์์ผ๋ก ์ค์ฒฉ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
2.6 Grid breakpoints
- ๋ถํธ์คํธ๋ฉ grid system ์ ๋ค์ํ ๋๋ฐ์ด์ค์์ ์ ์ฉํ๊ธฐ ์ํด ํน์ px ์กฐ๊ฑด์ ๋ํ ์ง์ ์ ์ ํด ๋์๋๋ฐ ์ด๋ฅผ breakpoints ๋ผ๊ณ ํ๋ค.
- ๋ถํธ์คํธ๋ฉ์ ๋๋ถ๋ถ์ ํฌ๊ธฐ๋ฅผ ์ ์ํ๊ธฐ ์ํด em ๋๋ rem ์ ์ฌ์ฉํ์ง๋ง px ๋ ๊ทธ๋ฆฌ๋ breakpoint ์ ์ฌ์ฉ๋๋ค. (๋ทฐํฌํธ ๋๋น๊ฐ ํฝ์
๋จ์์ด๊ณ ๊ธ๊ผด ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ณํ์ง ์๊ธฐ ๋๋ฌธ)
์ฐธ๊ณ
w3schools
poiemaweb
bootstrap DOCS