TIL -Flex item ์†์„ฑ๊ฐ’

์†Œ๋ฐยท2022๋…„ 4์›” 14์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
15/17
post-thumbnail

๐Ÿ“Œ flex-basis

  • flex item ๋“ค์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์ง€์ • (width์ฒ˜๋Ÿผ ๊ฐ•์ œ์„ฑ ์—†์Œ)
  • flex-direction์ด row์ผ๋• ๋„ˆ๋น„, column์ผ๋• ๋†’์ด ์ง€์ •
  • flex-basis:auto; ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ width, height ๊ฐ’ ์‚ฌ์šฉ
  • flex-basis : 0 ๊ธฐ๋ณธ ๋„“์ด ์—†๋‹ค๋Š” ๊ฒƒ, ์›๋ž˜ ๋‚ด๊ฐ€ ๊ฐ€์ง„ ํฌ๊ธฐ ์ดˆ๊ธฐํ™”
  • ๋งŒ์•ฝ flex-basis ๊ฐ’์ด ์ ์šฉ๋˜์–ด ์žˆ๋‹ค๋ฉด width, height ๊ฐ’์€ ๋ฌด์‹œ๋จ.

๐Ÿ’ก 0 ์™ธ์— ๋‹ค๋ฅธ ์ƒ์ˆ˜๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ.


๐Ÿ“Œ flex-grow

  • flex-basis์˜ ๊ฐ’๋ณด๋‹ค ๋” ๋Š˜์–ด๋‚˜๋„ ๋˜๋Š”์ง€ ์ง€์ •ํ•˜๋Š” ๊ฐ’์œผ๋กœ,
    ํ• ๋‹น๋œ ๊ฐ’์— ๋”ฐ๋ผ ์ž์‹ ์„ ๊ฐ์‹ธ๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ๊ณต๊ฐ„(์—ฌ๋ฐฑ)์„ ํ• ๋‹น.

    • flex-growย  : 1 โ€”> ์ž์‹ ์š”์†Œ๋“ค์ด ๋ชจ๋‘ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›์Œ.

    • flex-growย  : 2 โ€”>ย ํŠน์ •ํ•œ ํ•˜๋‚˜์˜ ์ž์‹์—๊ฒŒ๋งŒ ์ค„ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์ž์‹์š”์†Œ๋ณด๋‹ค ๋‘๋ฐฐ์˜ ์—ฌ๋ฐฑ ๊ณต๊ฐ„์„ ํ• ๋‹น๋ฐ›์Œ. ๋งŒ์•ฝ ์ž์‹์š”์†Œ๋“ค์˜ ์ปจํ…์ธ  ํฌ๊ธฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ๊ทธ ์ปจํ…์ธ ์˜ ๋„“์ด์— ๋”ฐ๋ผ ํ• ๋‹น๋ฐ›๋Š” ๊ฐ’์ด ๋‹ฌ๋ผ์ง.

  • ์ผ๋‹จ 0๋ณด๋‹ค ํฐ ๊ฐ’์ด ์„ธํŒ…๋˜๋ฉด ํ•ด๋‹น ์•„์ดํ…œ์ด ์œ ์—ฐํ•œ ๋ฐ•์Šค๋กœ ๋ณ€ํ•˜๊ณ  ์›๋ž˜์˜ ํฌ๊ธฐ๋ณด๋‹ค ์ปค์ง€๋ฉฐ ๋นˆ๊ณต๊ฐ„์„ ๋ฉ”์šฐ๊ฒŒ ๋จ. ๊ธฐ๋ณธ๊ฐ’์ด 0์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ์ ์šฉํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์•„์ดํ…œ์ด ๋Š˜์–ด๋‚˜์ง€ ์•Š์Œ.

๐Ÿ’ก flex-basis:0์„ ์ฃผ๊ฒŒ ๋˜๋ฉด ์—ฌ๋ฐฑ ๊ณต๊ฐ„์ด ์•„๋‹ˆ๋ผ ์ „์ฒด ๊ณต๊ฐ„์„ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“Œ flex-shrink

  • flex-grow์™€ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์œผ๋กœ
    ์•„์ดํ…œ์ด flex-basis์˜ ๊ฐ’๋ณด๋‹ค ์ž‘์•„์งˆ ์ˆ˜ ์žˆ๋Š”์ง€ ๊ฒฐ์ •

  • ํฌ๊ธฐ๋ฅผ ๊ณ ์ •ํ•˜๊ฑฐ๋‚˜ ์ค„์ด๋Š” ์—ญํ• 

  • ๋งˆ์ด๋„ˆ์Šค ์ˆซ์ž๋Š” ๋ฐ›์•„๋“ค์ด์ง€ ์•Š์Œ.

    • flex-shrink:0; ์ค„์–ด๋“ค์ง€ ์•Š์Œ. (์ปจํ…Œ์ด๋„ˆ์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋„ ๊ฐ’์€ ๊ณ ์ •)
    • flex-shrink:1; ์ค„์–ด๋“ฆ. (๊ธฐ๋ณธ๊ฐ’)
      ๋”ฐ๋กœ ์„ธํŒ…ํ•˜์ง€ ์•Š์•˜์–ด๋„ ์•„์ดํ…œ์ด flex-basis๋ณด๋‹ค ์ž‘์•„์งˆ ์ˆ˜ ์žˆ์Œ

๐Ÿ’ก ๋ถ€๋ชจ์— flex-wrap: wrap; ์†์„ฑ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


flex ์†์„ฑ

/* flex: flex-grow, flex-shrink, flex-basis */
flex :1; /* flex-grow:1; flex-shrink:1; flex-basis:0; */
flex :1 1 300px; /* flex-grow:1; flex-shrink:1; flex-basis:300px; */
profile
์ƒ๊ฐ์ด ๊ธธ๋ฉด ์šฉ๊ธฐ๋Š” ์‚ฌ๋ผ์ง„๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€