Home CSS grid
Post
Cancel

CSS grid

๐Ÿ“Œ grid

โœ๏ธ Flex์™€ Grid์˜ ์ฐจ์ด

  • Flex๋Š” ํ•œ ๋ฐฉํ–ฅ ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ์ด๊ณ  (1์ฐจ์›)
  • Grid๋Š” ๋‘ ๋ฐฉํ–ฅ(๊ฐ€๋กœ-์„ธ๋กœ) ๋ ˆ์ด์•„์›ƒ ์‹œ์Šคํ…œ (2์ฐจ์›)

์‚ฌ์šฉ๋ฒ•

flex ์ฒ˜๋Ÿผ display : grid๋กœ ์‹œ์ž‘

1
2
3
4
5
6
7
8
9
10
11
<div class="container">
  <div class="item">A</div>
  <div class="item">B</div>
  <div class="item">C</div>
  <div class="item">D</div>
  <div class="item">E</div>
  <div class="item">F</div>
  <div class="item">G</div>
  <div class="item">H</div>
  <div class="item">I</div>
</div>
1
2
3
4
.container {
  display: grid;
  //์ด๊ฒƒ๋งŒ์œผ๋กœ๋Š” flex์™€ ๋‹ค๋ฅด๊ฒŒ ์•„๋ฌด๋ณ€ํ™”๊ฐ€ ์—†์Œ, ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.
}

์šฉ์–ด

  • ๊ทธ๋ฆฌ๋“œ ์ปจํ…Œ์ด๋„ˆ (Grid Container) display: grid๋ฅผ ์ ์šฉํ•˜๋Š” Grid์˜ ์ „์ฒด ์˜์—ญ, Grid ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ์š”์†Œ๋“ค์ด Grid ๊ทœ์น™์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ •๋ ฌ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์œ„ ์ฝ”๋“œ <div class=โ€containerโ€></div>๊ฐ€ Grid ์ปจํ…Œ์ด๋„ˆ์ž„
  • ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ (Grid Item) Grid ์ปจํ…Œ์ด๋„ˆ์˜ ์ž์‹ ์š”์†Œ, ๋ฐ”๋กœ ์ด ์•„์ดํ…œ๋“ค์ด Grid ๊ทœ์น™์— ์˜ํ•ด ๋ฐฐ์น˜๋จ. ์œ„ ์ฝ”๋“œ์—์„œ <div class=โ€itemโ€></div>๋“ค์ด Grid ์•„์ดํ…œ์ด๋‹ค.
  • ๊ทธ๋ฆฌ๋“œ ํŠธ๋ž™ (Grid Track) Grid์˜ ํ–‰(Row) ๋˜๋Š” ์—ด(Column)
  • ๊ทธ๋ฆฌ๋“œ ์…€ (Grid Cell) Grid์˜ ํ•œ ์นธ, <div>๊ฐ™์€ ์‹ค์ œ html ์š”์†Œ๋Š” ๊ทธ๋ฆฌ๋“œ ์•„์ดํ…œ์ด๊ณ , ์ด๋Ÿฐ Grid ์•„์ดํ…œ ํ•˜๋‚˜๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” โ€œ๊ฐ€์ƒ์˜ ์นธ(ํ‹€)โ€์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
  • ๊ทธ๋ฆฌ๋“œ ๋ผ์ธ(Grid Line) Grid ์…€์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์„ 
  • ๊ทธ๋ฆฌ๋“œ ๋ฒˆํ˜ธ(Grid Number) Grid ๋ผ์ธ์˜ ๊ฐ ๋ฒˆํ˜ธ
  • ๊ทธ๋ฆฌ๋“œ ๊ฐญ(Grid Gap) Grid ์…€ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ
  • ๊ทธ๋ฆฌ๋“œ ์˜์—ญ(Grid Area) Grid ๋ผ์ธ์œผ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ์‚ฌ๊ฐํ˜• ์˜์—ญ์œผ๋กœ, ๊ทธ๋ฆฌ๋“œ ์…€์˜ ์ง‘ํ•ฉ

    ๊ทธ๋ฆฌ๋“œ ํ˜•ํƒœ ์ •์˜

  • grid-template-columns
  • grid-template-rows
1
2
3
4
5
6
7
8
9
10
11
12
13
.container {
  grid-template-columns: 200px 200px 500px;
  /* grid-template-columns: 1fr 1fr 1fr */
  /* grid-template-columns: repeat(3, 1fr) */
  /* grid-template-columns: 200px 1fr */
  /* grid-template-columns: 100px 200px auto */

  grid-template-rows: 200px 200px 500px;
  /* grid-template-rows: 1fr 1fr 1fr */
  /* grid-template-rows: repeat(3, 1fr) */
  /* grid-template-rows: 200px 1fr */
  /* grid-template-rows: 100px 200px auto */
}

fr : ๋น„์œจ,

ex) 1fr 1fr 1fr : 1:1:1 ๋น„์œจ๋กœ ๋‚˜๋ˆˆ๋‹ค

repeat(3,1fr) = 1fr 1fr 1fr

This post is licensed under CC BY 4.0 by the author.

middleware

Footer ํ•˜๋‹จ๊ณ ์ •