1. Grid2. Grid row / column1) template3. Gap4. ๊ฐ ์
์ ์์ญ ์ง์ ์ค์ต1์ค์ต 2(์ค์ต) ์ ์ฒด ๋ณต์ต ์ฝ๋ ๋ฐ ์ฑ๋ฐฐ ๋ ์ด์์ ๊ทธ๋ฆฌ๊ธฐ
ย
1. Grid
์์
์ chrome์ผ๋ก ๋๊ฐ์ง๋ง grid๋ chrome์ด ์๋๋ผ firefox๋ฅผ ์ฌ์ฉํ์๋ฉด ๊ฐ๋ฐ์ ๋๊ตฌ์์ ์ข ๋ ๋ช
ํํ๊ฒ ํ์ธํ ์ ์์ต๋๋ค.
ย
display:grid;
๋ก ๊ทธ๋ฆฌ๋ ์ปจํ
์ด๋์ ์์ดํ
์ ์ค์ ํฉ๋๋ค.ย
๊ทธ๋ฆฌ๋ ์ปจํ
์ด๋ : ๊ทธ๋ฆฌ๋์ ๊ฐ์ฅ ๋ฐ๊นฅ ์์ญ
๊ทธ๋ฆฌ๋ ์์ดํ
: ๊ทธ๋ฆฌ๋ ์ปจํ
์ด๋์ ์์ ์์๋ค
๊ทธ๋ฆฌ๋ ํธ๋ : ๊ทธ๋ฆฌ๋์ ํ(row) ๋๋ ์ด(column)
๊ทธ๋ฆฌ๋ ์
: ๊ทธ๋ฆฌ๋์ ํ ์นธ (๊ฐ๋
์ ์ธ ์ ์)
๊ทธ๋ฆฌ๋ ๋ผ์ธ : ๊ทธ๋ฆฌ๋ ์
์ ๊ตฌ๋ถํ๋ ์
๊ทธ๋ฆฌ๋ ๋๋ฒ : ๊ทธ๋ฆฌ๋ ๋ผ์ธ์ ๊ฐ ๋ฒํธ
๊ทธ๋ฆฌ๋ ๊ฐญ : ๊ทธ๋ฆฌ๋ ์
์ฌ์ด์ ๊ฐ๊ฒฉ
๊ทธ๋ฆฌ๋ ์์ด๋ฆฌ์ด : ๊ทธ๋ฆฌ๋ ์
์ ์งํฉ
2. Grid row / column
1) template
grid-template-columns
: ์ด์ ๋์ด๋ฅผ ์ค์ ํฉ๋๋ค.grid-template-rows
: ํ์ ๋์ด๋ฅผ ์ค์ ํฉ๋๋ค.repeat
( ์ ์ฉํ ํธ๋์ ๊ฐฏ์, ๋ฐ๋ณตํ ์์น ) ํจ์๋ฅผ ์ด์ฉํ๋ฉด ๊ทธ๋ฆฌ๋ ํธ๋ ๋ณ ์์น ๋ฐ๋ณต์ ์ค์ ํ ์ ์์ต๋๋ค.ย
3. Gap
1) row - gap
2) column-gap
3) grid-gap, gap
gap: 20px 5px;
โ IE์์๋ gap์ ๋์ฒด ์์ฑ์ด ์์ด์ IE์์์ ์ฌ์ฉ์ ๊ณ ๋ คํ๋ค๋ฉด ์ฒ์๋ถํฐ gap์ ์ฌ์ฉํ์ง ๋ง์์ผ ํฉ๋๋ค
ย
4. ๊ฐ ์ ์ ์์ญ ์ง์
1) grid-column-start
2) grid-column-end
3) grid-column
/*item*/ .item { grid-column-start: 1; grid-column-end: 2; grid-column : 1 / span 2; }
4) grid-row-start
5) grid-row-end
6) grid-row
/*item*/ .item { grid-row-start: 1; grid-row-end: 2; grid-row : 1 / span 2; }
ย
ย
์ค์ต1
๊ณ์ฐ๊ธฐ ๊ทธ๋ฆฌ๋ ์ด์ฉํด์ ๋ง๋ค์ด๋ณด๊ธฐ(๋ง์ฝ ํ๋ค๋ฉด CSS ์ฝ๋ ์์ ํ์ํจ)
์ฝ๋
<!DOCTYPE html> <html> <head> <title>Parcel Sandbox</title> <meta charset="UTF-8" /> <link rel="stylesheet" href="./src/styles.css"> </head> <body> <div class="container"> <div class="row-1"> <input type="text" /> </div> <div class="row-2"> <button type="button" class="reset-btn">AC</button> <button type="button" class="etc-btn">+/-</button> <button type="button" class="percentage-btn">%</button> <button type="button" class="calc" value="divide">รท</button> </div> <div class="row-3"> <button type="button" class="number">7</button> <button type="button" class="number">8</button> <button type="button" class="number">9</button> <button type="button" class="calc" value="multiply">ร</button> </div> <div class="row-4"> <button type="button" class="number">4</button> <button type="button" class="number">5</button> <button type="button" class="number">6</button> <button type="button" class="calc" value="minus">-</button> </div> <div class="row-5"> <button type="button" class="number">1</button> <button type="button" class="number">2</button> <button type="button" class="number">3</button> <button type="button" class="calc" value="plus">+</button> </div> <div class="row-6"> <button type="button" class="number">0</button> <button type="button" class="number">.</button> <button type="button" class="result-btn" class="result">=</button> </div> </div> </body> </html>
body { font-family: sans-serif; box-sizing: border-box; } .container { padding: 10px; display: grid; grid-template-rows: repeat(6, 80px); gap: 10px; background: #000000; } div[class^="row"] { display: grid; grid-template-columns: repeat(4, 80px); gap: 10px; } input { grid-column: 1 / span 4; text-align: right; background: #0000; border: none; color: #ffff; font-size: 55px; } input:focus { outline: none; } button { border-radius: 50%; font-size: 30px; border: none; background: #c4c4c4; color: #fff; cursor: pointer; transition: opacity 0.4s; } .row-6 button:first-child { grid-column: 1/3; border-radius: 60px; } .number { background: #333333; } .calc, .result-btn { background: #fe9f06; color: #fff; } .number:active, .reset-btn:active, .etc-btn:active, .percentage-btn:active, .result-btn:active { opacity: 0.6; } .calc:focus { background: #fff; color: #fe9f06; }
ย
ย
์ค์ต 2
Grid : row 5, column5
margin : 10
gap : 10
(์ image.zip ํ์ผ์ ์ ์ฅ๋ ์ด๋ฏธ์ง๋ pixabay.com์ ์๋ ๋ฌด๋ฃ ์ด๋ฏธ์ง์
๋๋ค.)
ย