๐ ๋ค์ด๊ฐ๋ฉฐ
์ด๋ฒ ๊ธ์์๋ 2์ฐจ์ ๋ ์ด์์ ๋๊ตฌ์ธ CSS Grid์, ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ์ํ๋ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ก ์นํ์ด์ง๋ฅผ ๋ค๋ฌ์ด๋ณธ๋ค. ๋ ์ด์์์ ์ด์ ์ ๋ง์ถ๋ค.
1. ์ ํ์ ์ฐ์ ์์ โ class vs id
1
2
| .saw { color: gray; } /* class โ ์จ์ (.) */
#active { color: purple; } /* id โ ์ต(#) */
|
1
2
| <li><a href="1.html" class="saw">HTML</a></li>
<li><a href="2.html" class="saw" id="active">CSS</a></li> <!-- id๊ฐ ์ฐ์ โ purple -->
|
| ์ ํ์ | ๋ฌธ๋ฒ | ์ฐ์ ์์ |
|---|
| class | .saw | ๋ฎ์ |
| id | #active | ๋์ |
๐ก ํ ํ๊ทธ์ ๊ฐ์ ์ต์
์ด ์ฌ๋ฟ ๊ฑธ๋ฆฌ๋ฉด, ๋ ๊ฐ๋ณ์ ์ธ id๊ฐ ์ฐ์ ๋๋ค. ๊ทธ๋์ ์์ CSS ๋งํฌ๋ ํ์(class)์ด ์๋๋ผ ๋ณด๋ผ์(id)์ด ๋๋ค.
2. Grid ๋ ์ด์์
1
2
3
4
| #grid {
display: grid;
grid-template-columns: 150px 1fr; /* ์ผ์ชฝ 150px, ์ค๋ฅธ์ชฝ ๋๋จธ์ง */
}
|
๐ก display: grid๋ก 2์ฐจ์ ๊ฒฉ์ ๋ ์ด์์์ ๋ง๋ ๋ค. grid-template-columns: 150px 1fr์ ์ฒซ ์ด์ 150px ๊ณ ์ , ๋์งธ ์ด์ ๋จ์ ๊ณต๊ฐ(1fr) ์ ๋ถ๋ฅผ ๋ปํ๋ค. ์ฌ์ด๋๋ฐ(๋ฉ๋ด) + ๋ณธ๋ฌธ ๊ตฌ์กฐ์ ์ ํฉํ๋ค.
1
2
3
4
| โโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโ
โ 150px โ 1fr โ
โ (๋ฉ๋ด) โ (๋ณธ๋ฌธ) โ
โโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโ
|
3. ๋ฏธ๋์ด ์ฟผ๋ฆฌ โ ๋ฐ์ํ
1
2
3
4
5
| @media (max-width: 800px) {
#grid { display: block; } /* ๊ฒฉ์ โ ์ธ๋ก ์๊ธฐ */
#grid ol { border-right: none; } /* ํ
๋๋ฆฌ ์ ๊ฑฐ */
h1 { border-bottom: none; }
}
|
๐ก ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ ๋ฐ์ํ ์ต์
์ด๋ค. (max-width: 800px)๋ โํ๋ฉด ํญ์ด 800px ์ดํ๊ฐ ๋๋ฉดโ ์์ชฝ ์คํ์ผ์ ์ ์ฉํ๋ค. ์ฌ๊ธฐ์ ๊ฒฉ์(grid)๋ฅผ ์ธ๋ก ์๊ธฐ(block)๋ก ๋ฐ๊พธ๊ณ ํ
๋๋ฆฌ๋ฅผ ์์ค๋ค.
์ฐฝ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ตฌ๋ถ์ ์ด ์ฌ๋ผ์ง๊ณ ๋ฐฐ์น๊ฐ block์ผ๋ก ๋ฐ๋๋ค. (none์ผ๋ก ํ๋ค๋ฉด ์์ ์ ๋ณด์์ ๊ฒ)
๐ ์ ๋ฆฌ
1
2
3
4
| CSS Grid & ๋ฐ์ํ
โโ ์ ํ์ .class(๋ฎ์) < #id(๋์)
โโ Grid display:grid, grid-template-columns: 150px 1fr
โโ ๋ฏธ๋์ด์ฟผ๋ฆฌ @media(max-width:800px){ ... } ๋ฐ์ํ
|
| ๊ฐ๋
| ํ ์ค ์ ์ |
|---|
| id ์ฐ์ ์์ | ๊ฐ๋ณ์ ์ผ์๋ก ์ฐ์ |
| grid | 2์ฐจ์ ๊ฒฉ์ ๋ ์ด์์ |
| 1fr | ๋จ์ ๊ณต๊ฐ์ ๋น์จ |
| ๋ฏธ๋์ด ์ฟผ๋ฆฌ | ํ๋ฉด ํฌ๊ธฐ๋ณ ๋ฐ์ํ ์คํ์ผ |
Grid๋ 2์ฐจ์ ๋ ์ด์์์, ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ ๋ฐ์ํ์ ๋ด๋นํ๋ค. 150px 1fr์ฒ๋ผ ๊ณ ์ +๊ฐ๋ณ์ ์กฐํฉํ๊ณ , @media๋ก ํ๋ฉด ํฌ๊ธฐ์ ๋์ํ๋ฉด ๋ค์ํ ๊ธฐ๊ธฐ์์ ์์ฐ์ค๋ฌ์ด ํ์ด์ง๊ฐ ์์ฑ๋๋ค.
Comments powered by Disqus.