CSS Grid

grid

  • flexbox๋กœ๋Š” grid๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ํž˜๋“ค์–ด์„œ ๋‚˜์˜ค๊ฒŒ ๋จ

  • grid-template-columns : ๋งŒ๋“ค๊ณ  ์‹ถ์€ column์˜ ์ˆ˜ ๋งŒํผ ํฌ๊ธฐ๋ฅผ ์ž‘์„ฑ

  • grid-template-rows : ์›ํ•˜๋Š” row์˜ ํฌ๊ธฐ๋ฅผ ์ž‘์„ฑ

  • grid-template-areas : grid-area์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ, layout์„ string์œผ๋กœ ์ž‘์„ฑ

  • grid-template : (shortcuts)

    grid-template :
      "header header header header" 1fr
      "content content content nav" 2fr
      "footer footer footer footer" 1fr / 1fr 1fr 1fr 1fr
      // repeat dosen't work

  • repeat(๋ฐ˜๋ณตํšŸ์ˆ˜, ํฌ๊ธฐ);

    • auto-fit : ์ •ํ•ด์ง„ ์‚ฌ์ด์ฆˆ ์•ˆ์—์„œ ํ˜„์žฌ element๋ฅผ ๋”ฑ ๋งž๊ฒŒ ์ฑ„์›€

    • auto-fill : ์ •ํ•ด์ง„ ์‚ฌ์ด์ฆˆ ์•ˆ์—์„œ ๊ฐ€๋Šฅํ•œ ๋งŽ์€ element๋ฅผ ์ƒ์„ฑ(๋น„์–ด์žˆ๋”๋ผ๋„)

  • fr(fraction) : ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„(grid๋‚ด์—์„œ)

  • minmax(100px, 1fr) : ์ตœ์†Œ ํฌ๊ธฐ์™€ ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ์ง€์ •

  • min-content : content๊ฐ€ ์ž‘์•„์งˆ ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ์ž‘์•„์ง

  • max-content : content๊ฐ€ ํ•„์š”ํ•œ ํฌ๊ธฐ๋งŒํผ ๊ฐ€์ง

repeat(auto-fit, minmax(20px, max-content))

  • column-gap : column์‚ฌ์ด์˜ ๊ณต๊ฐ„

  • row-gap : row์‚ฌ์ด์˜ ๊ณต๊ฐ„

  • gap : column๊ณผ row์‚ฌ์ด์˜ ๊ณต๊ฐ„


  • ๋†’์ด์™€ ๋„“์ด๊ฐ€ ์žˆ์–ด์•ผ ์ ์šฉ๋จ

  • items๋Š” ๊ฐ ์…€์— ๋Œ€ํ•œ ์†์„ฑ

  • justify-items : stretch(default) (์ˆ˜ํ‰, ๊ฐ€๋กœ)

  • align-items : stretch(default) (์ˆ˜์ง, ์„ธ๋กœ)

    • place-items : ์ˆ˜์ง ์ˆ˜ํ‰


  • content๋Š” grid ์ž์ฒด๋ฅผ ์›€์ง์ด๋Š” ์†์„ฑ

  • justify-content : start(default) ์ˆ˜ํ‰

  • align-content : start(default) ์ˆ˜์ง

    • place-content : ์ˆ˜์ง ์ˆ˜ํ‰


  • ์„ค์ •๋œ ๊ฒƒ ์ด์ƒ์œผ๋กœ ์…€์ด ๋Š˜์–ด๋‚˜๋ฉด ์ ์šฉ๋˜๋Š” ์†์„ฑ

  • grid-auto-rows

  • grid-auto-flow : row or column(๋Š˜์–ด๋‚  ๋ฐฉํ–ฅ์„ ์ ์šฉ)

  • grid-auto-columns

์ž์‹์†์„ฑ

  • grid-area : grid-template-areas์—์„œ ์‚ฌ์šฉํ•  ์ด๋ฆ„์„ ์ง€์ •ํ•ด์คŒ


  • grid-column-start(end) : ์–ด๋””์„œ ์‹œ์ž‘ํ•˜๊ณ  ์–ด๋””์„œ ๋๋‚ ์ง€ ์ˆซ์ž (column line) ๋กœ ์ง€์ •

  • grid-row-start(end) : ์–ด๋””์„œ ์‹œ์ž‘ํ•˜๊ณ  ์–ด๋””์„œ ๋๋‚ ์ง€ ์ˆซ์ž (row line) ๋กœ ์ง€์ •

    • grid-column : start / end

    • grid-row : start / end

      • (-1) = ๊ฐ€์žฅ ๋ ๋ผ์ธ์„ ์˜๋ฏธ

      • span 2 = ๊ณต๊ฐ„ 2๊ฐœ๋ฅผ ์˜๋ฏธ


  • justify-self

  • align-self

    • place-self : ์ˆ˜์ง ์ˆ˜ํ‰

Last updated