[css] flex vs grid
in CSS
flex vs grid
flex๋ย 1์ฐจ์์ ์ธ ๊ตฌ์กฐ
row ํน์ column ์ค ํ1 ํ์ฌ ๋ฐฐ์น ๋ฐฉํฅ์ ๊ฒฐ์ grid๋ย 2์ฐจ์์ ์ธ ๊ตฌ์กฐ
row์ column ๋ฐฉํฅ์ ๋ฐฐ์น ๋ฐฉ์์ ๋์์ ์ค์
flex ์์ฑ
๏ฟผ flex-direction: ์ปจํ ์ด๋ ๋ด์ ์์ดํ ์ ๋ฐฐ์นํ ๋ ์ฌ์ฉํ ์ฃผ์ถ ๋ฐ ๋ฐฉํฅ(์ ๋ฐฉํฅ, ์ญ๋ฐฉํฅ)์ ์ง์
justify-content: ์ฃผ์ธก ๊ธฐ์ค์ผ๋ก ์์๋ค์ ์์น ์ง์
align-items: ๊ต์ฐจ์ถ ๊ธฐ์ค์ผ๋ก ์์๋ค์ ์์น ์ง์
flex-wrap: ์์๋ค์ด ๊ฐ์ ๋ก ํ์ค์ ๋ฐฐ์น๋๊ฒ ํ ๊ฒ์ธ์ง, ๋๋ ์ฌ๋ฌํ์ผ๋ก ๋๋์ด ํํ ํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ์์ฑ
align-content: flex wrap์ผ ๊ฒฝ์ฐ, ๊ต์ฐจ์ถ์ ๊ธฐ์ค์ผ๋ก ์์๋ค์ ์์น์ ์ฃผ์ ๋น ๊ณต๊ฐ์ ๋ฐฐ์น
display: flex
flex-direction: row | row-reverse | column | column-reverse
justify-content: flex-star | flex-end | center | space-between | space-around | space-evenly
align-items: stretch | flex-start | flex-end | center
flex-wrap: nowrap | wrap | wrap-reverse
align-content: stretch | flex-start | flex-end | center | space-between | space-around
grid ์์ฑ
grid-container: grid๊ฐ ์ ์ฉ๋ ์์
grid-item: grid๊ฐ ์ ์ฉ๋ ์์์ ์์ ์์๋ค
grid-line: grid-item ์ฌ์ด์ ๊ฒฝ๊ณ๋ฅผ ์๋ฏธ
grid-number: ํด๋น grid-line์ด ๋ช๋ฒ์งธ line์ธ์ง๋ฅผ ์๋ฏธ
grid-template: grid์ ํ&์ด์ ๊ฐ์ ๋ฐ ํฌ๊ธฐ๋ฅผ ์ง์
grid-template-rows: row๋ ํ์ ํ ํ๋ฆฟ ์ง์
grid-template-columns: columns๋ ์ด์ ํ ํ๋ฆฟ์ ์ง์
grid-column & grid-row: grid-number์ ์์์ / ์ข ๋ฃ์ , ๊ฐ๊ฐ์ย grid-item์ด ์ด๊ณผ ํ ๋ฐฉํฅ์ผ๋ก ์ผ๋ง๋งํผ์ ์์ญ์ ์ฐจ์งํ ์ง ์ ์
display: grid
grid-template-columns: repeat(4, 1fr)
grid-column: 1 / 4
* fr: fraction(๋ถ์)์ ์ฝ์๋ก grid-template์์ ์ฌ์ฉํ ์ ์๋ ๋น์จ ๋จ์.
* repeat(): grid-template์ repeat(a, b)๋ผ๊ณ ์
๋ ฅํ๋ฉด,ย b๊ท๊ฒฉ์ grid-template์ a๊ฐ ์์ฑํ๋ค๋ ์๋ฏธ.