๐Ÿงฉ 06. Flexbox: '1์ฐจ์› ๋ ˆ์ด์•„์›ƒ์˜ ๋งˆ๋ฒ•์‚ฌ'

2026๋…„ 3์›” 5์ผ ์ˆ˜์ •๋จ

๐Ÿ“‹ ๊ฐœ์š”

ํ˜„๋Œ€ ์›น ๋ ˆ์ด์•„์›ƒ์˜ ํ•„์ˆ˜ ๋„๊ตฌ์ธ Flexbox์˜ ํ•ต์‹ฌ ์›๋ฆฌ์™€ ์ •๋ ฌ ๋ฐฉ์‹, ๊ทธ๋ฆฌ๊ณ  flex-grow/shrink์˜ ์ •๋ฐ€ํ•œ ๊ณ„์‚ฐ๋ฒ•์„ ์˜์ฒ ์ด์™€ ํ•จ๊ป˜ ๋ฐฐ์›Œ๋ด…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด ๋ฌธ์„œ๋ฅผ ์ฝ๊ธฐ ์ „์—

โฑ๏ธ ์˜ˆ์ƒ ์ฝ๊ธฐ ์‹œ๊ฐ„: 10๋ถ„(์ „์ฒด) / ํ•ต์‹ฌ ํŒŒํŠธ๋งŒ: 5๋ถ„

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ํ๋ฆ„
[์ถ•(Axis)์˜ ์ดํ•ด] โ†’ [์ •๋ ฌ(Alignment) ๋งˆ์Šคํ„ฐ] โ†’ [flex-basis/grow/shrink์˜ ์ˆ˜ํ•™]

๐ŸŽฏ ์ด ๋ฌธ์„œ๋ฅผ ๋‹ค ์ฝ์œผ๋ฉด ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

  • ์ฃผ์ถ•(Main Axis)๊ณผ ๊ต์ฐจ์ถ•(Cross Axis)์˜ ๊ฐœ๋…์„ ์™„๋ฒฝํžˆ ํŒŒ์•…ํ•ฉ๋‹ˆ๋‹ค.
  • ์š”์†Œ๋ฅผ ๊ฐ€๋กœ/์„ธ๋กœ ์ค‘์•™์— ์ •๋ ฌํ•˜๋Š” ๊ฐ€์žฅ ์šฐ์•„ํ•œ ๋ฐฉ๋ฒ•์„ ์ตํž™๋‹ˆ๋‹ค.
  • flex ๋‹จ์ถ• ์†์„ฑ์ด ๋‚ด๋ถ€์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๊ณต๊ฐ„์„ ๋ฐฐ๋ถ„ํ•˜๋Š”์ง€ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ๋ฐฐ๊ฒฝ ์„ธ๊ณ„๊ด€: '์˜์ˆ˜๋„ค ์ปค๋ฎค๋‹ˆํ‹ฐ'

  • ๐Ÿฃ ์˜์ฒ  ( ์‹ ์ž… ): "์˜ํ˜ธ ๋‹˜! float์ด๋ž‘ position์œผ๋กœ ๋ฉ”๋‰ด ๋ฐ” ๋งŒ๋“œ๋А๋ผ ๋ฐค์„ ์ƒœ๋Š”๋ฐ, ๋”ฑ 1px ์ฐจ์ด๋กœ ์ž๊พธ ์ค„์ด ๋ฐ”๋€Œ์–ด์š”. ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์ง ์ค‘์•™ ์ •๋ ฌ์€ ์™œ ์ด๋ ‡๊ฒŒ ํž˜๋“  ๊ฑฐ์ฃ ? ๐Ÿ˜ญ"
  • ๐Ÿฆ ์˜ํ˜ธ ( ๋ฆฌ๋“œ ): "์˜์ฒ  ๋‹˜, ์•„์ง๋„ 10๋…„ ์ „ ๋ฐฉ์‹์ธ float๊ณผ ์‹ธ์šฐ๊ณ  ๊ณ„์‹œ๊ตฐ์š”. ์ด์ œ '์œ ์—ฐํ•œ ์ƒ์ž(Flexbox)'๋ฅผ ๋ฐฐ์šธ ๋•Œ๊ฐ€ ๋์Šต๋‹ˆ๋‹ค. ์ถ• ํ•˜๋‚˜๋งŒ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๋ฉด, ๋ฐค์ƒ˜ํ•  ํ•„์š” ์—†์ด ๋‹จ ํ•œ ์ค„๋กœ ํ•ด๊ฒฐ๋˜๊ฑฐ๋“ ์š”."

๐Ÿค” ์™œ ์•Œ์•„์•ผ ํ•˜๋Š”๊ฐ€

Flexbox๊ฐ€ ๋“ฑ์žฅํ•˜๊ธฐ ์ „๊นŒ์ง€ ์›น ๋ ˆ์ด์•„์›ƒ์€ '๊ผผ์ˆ˜'์˜ ์—ฐ์†์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ง„ ์˜†์— ํ…์ŠคํŠธ๋ฅผ ๋‚˜๋ž€ํžˆ ๋‘๋ ค๊ณ  float์„ ์“ฐ๊ณ  clearfix๋กœ ๋’ท์ •๋ฆฌ๋ฅผ ํ•ด์•ผ ํ–ˆ์ฃ . ํŠนํžˆ ์ˆ˜์ง ์ค‘์•™ ์ •๋ ฌ์€ ํ”„๋ก ํŠธ์—”๋“œ ๋ฉด์ ‘์˜ ๋‹จ๊ณจ ์งˆ๋ฌธ์ผ ์ •๋„๋กœ ์•…๋ช… ๋†’์€ ๋‚œ์ œ์˜€์Šต๋‹ˆ๋‹ค.

Flexbox๋Š” ์š”์†Œ๋“ค์„ ํ•œ ๋ฐฉํ–ฅ(๊ฐ€๋กœ ํ˜น์€ ์„ธ๋กœ)์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ๋‚จ๋Š” ๊ณต๊ฐ„์„ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ  ๊ฐ€์งˆ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•˜๊ณ  ์ง๊ด€์ ์ธ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. 5๋…„์ฐจ ๊ฐœ๋ฐœ์ž๋Š” ๋‹จ์ˆœํžˆ display: flex๋ฅผ ๋‚จ๋ฐœํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์•„์ดํ…œ๋“ค์ด '์œ ์—ฐํ•˜๊ฒŒ(Flex)' ๋ฐ˜์‘ํ•˜๋Š” ์›๋ฆฌ๋ฅผ ์กฐ์ ˆํ•ด ์–ด๋–ค ํ™”๋ฉด ํฌ๊ธฐ์—์„œ๋„ ๊นจ์ง€์ง€ ์•Š๋Š” ๋ ˆ์ด์•„์›ƒ์„ ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ—๏ธ 1. ๋‘ ๊ฐœ์˜ ์ถ•(Axis): ๋ช…์ค‘์˜ ์‹œ์ž‘

Flexbox์˜ ๋ชจ๋“  ๊ฒƒ์€ ์ถ•(Axis) ์—์„œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

  1. Main Axis (์ฃผ์ถ•): flex-direction์— ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’ row์ผ ๋•Œ๋Š” ๊ฐ€๋กœ, column์ผ ๋•Œ๋Š” ์„ธ๋กœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  2. Cross Axis (๊ต์ฐจ์ถ•): ์ฃผ์ถ•๊ณผ ์ง๊ตํ•˜๋Š” ์ถ•์ž…๋‹ˆ๋‹ค.

๐Ÿฆ ์˜ํ˜ธ์˜ ํ•ต์‹ฌ ๋ ˆ์Šจ:
"justify-content๋Š” ์ฃผ์ถ• ๋ฐฉํ–ฅ์˜ ์ •๋ ฌ์„, align-items๋Š” ๊ต์ฐจ์ถ• ๋ฐฉํ–ฅ์˜ ์ •๋ ฌ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด ๋‘ ์ค„๋งŒ ์žˆ์œผ๋ฉด ์ „์„ค์˜ '๊ฐ€๋กœ์„ธ๋กœ ์ค‘์•™ ์ •๋ ฌ'์ด ์™„์„ฑ๋˜์ฃ ."

.container {
  display: flex;
  justify-content: center; /* ๊ฐ€๋กœ(์ฃผ์ถ•) ์ค‘์•™ */
  align-items: center;    /* ์„ธ๋กœ(๊ต์ฐจ์ถ•) ์ค‘์•™ */
}

๐ŸŽฏ ์ถ• ์ •๋ ฌ ๋Œ€๊ฒฐ: justify-content vs align-items

Center Item
justify-content: center (์ฃผ์ถ•)
align-items: center (๊ต์ฐจ์ถ•)

๐Ÿ“ 2. flex-basis, grow, shrink: ๊ณต๊ฐ„ ๋ฐฐ๋ถ„์˜ ์ˆ˜ํ•™

์•„์ดํ…œ๋“ค์ด ๋‚จ๋Š” ๊ณต๊ฐ„์„ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ  ๊ฐ€์งˆ์ง€ ๊ฒฐ์ •ํ•˜๋Š” 3ํ˜•์ œ์ž…๋‹ˆ๋‹ค.

  • flex-basis: ์•„์ดํ…œ์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. (width์™€ ๋น„์Šทํ•˜์ง€๋งŒ ์ถ• ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)
  • flex-grow: ๋‚จ๋Š” ๊ณต๊ฐ„์„ ๋น„๋ก€ํ•ด์„œ ๊ฐ€์ ธ๊ฐ€๋Š” ๋น„์œจ์ž…๋‹ˆ๋‹ค. (๊ธฐ๋ณธ๊ฐ’ 0: ์•ˆ ๊ฐ€์ ธ๊ฐ)
  • flex-shrink: ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•  ๋•Œ ๋น„๋ก€ํ•ด์„œ ์ค„์–ด๋“œ๋Š” ๋น„์œจ์ž…๋‹ˆ๋‹ค. (๊ธฐ๋ณธ๊ฐ’ 1: ๋˜‘๊ฐ™์ด ์ค„์–ด๋“ฌ)
/* ๐Ÿฃ ์˜์ฒ ์ด์˜ ํ™ฉ๊ธˆ ๋น„์œจ ๋ฉ”๋‰ด */
.nav-item {
  flex: 1 1 200px; /* grow: 1, shrink: 1, basis: 200px */
}

โš–๏ธ ๊ณต๊ฐ„ ๋ฐฐ๋ถ„์˜ ๋งˆ๋ฒ•: flex-grow

flex: 1
flex: 2 (2๋ฐฐ ์„ฑ์žฅ!)
flex: none

โš ๏ธ 5๋…„์ฐจ์˜ ๊ฒฝ๊ณ :
flex: 1์€ ์‚ฌ์‹ค flex: 1 1 0%์˜ ์ค„์ž„๋ง์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด flex: auto๋Š” flex: 1 1 auto์ฃ . ์ด ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๊ฐ€ ๋ ˆ์ด์•„์›ƒ์ด ๊ฝ‰ ์ฐจ๋А๋ƒ, ์ฝ˜ํ…์ธ  ํฌ๊ธฐ๋งŒํผ๋งŒ ์ปค์ง€๋А๋ƒ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ› ๏ธ 3. gap: ๋งˆ์ง„ ๋…ธ๊ฐ€๋‹ค์˜ ์ข…๋ง

๊ณผ๊ฑฐ์—๋Š” ์•„์ดํ…œ ์‚ฌ์ด ๊ฐ„๊ฒฉ์„ ์ฃผ๋ ค๊ณ  margin-right๋ฅผ ์ฃผ๊ณ  ๋งˆ์ง€๋ง‰ ์•„์ดํ…œ๋งŒ last-child๋กœ ๋นผ๊ณค ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ๋Š” gap ์†์„ฑ ํ•˜๋‚˜๋กœ ๋๋ƒ…๋‹ˆ๋‹ค.

.container {
  display: flex;
  gap: 20px; /* ์•„์ดํ…œ ์‚ฌ์ด ๊ฐ„๊ฒฉ๋งŒ 20px! ๋ฐ”๊นฅ์ชฝ์€ ๊น”๋”ํ•ฉ๋‹ˆ๋‹ค. */
}

๐Ÿ“ ๋งˆ๋ฌด๋ฆฌ ํ€ด์ฆˆ

Q1. flex-direction: column;์ผ ๋•Œ ์š”์†Œ๋“ค์„ ์ˆ˜์ง ๋ฐฉํ–ฅ(์œ„์—์„œ ์•„๋ž˜)์˜ ํ•œ๊ฐ€์šด๋ฐ์— ๋†“์œผ๋ ค๋ฉด ์–ด๋–ค ์†์„ฑ์„ ์จ์•ผ ํ• ๊นŒ์š”?

โœ… ์ •๋‹ต: justify-content: center;

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ: justify-content๋Š” ์–ธ์ œ๋‚˜ ์ฃผ์ถ•(Main Axis) ๋ฐฉํ–ฅ์˜ ์ •๋ ฌ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. flex-direction: column์ผ ๋•Œ๋Š” ์„ธ๋กœ๊ฐ€ ์ฃผ์ถ•์ด ๋˜๋ฏ€๋กœ, justify-content: center๋ฅผ ์จ์•ผ ์ˆ˜์ง ์ค‘์•™ ์ •๋ ฌ์ด ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ์ฃผ์ถ•์ด ๋ฐ”๋€Œ๋ฉด ์†์„ฑ์˜ ์—ญํ• ๋„ ๋ฐ”๋€๋‹ค๋Š” ๊ฑธ ๊ผญ ๊ธฐ์–ตํ•˜์„ธ์š”. ํ—ท๊ฐˆ๋ฆฐ๋‹ค๋ฉด '์ฃผ์„ ํƒ(Justify-Main)'์ด๋ผ๊ณ  ์™ธ์›Œ๋ณด์„ธ์š”!"

Q2. flex-shrink: 0; ์†์„ฑ์ด ๋ถ€์—ฌ๋œ ์•„์ดํ…œ์€ ์ปจํ…Œ์ด๋„ˆ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•  ๋•Œ ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ• ๊นŒ์š”?

  1. ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ์— ๋งž์ถฐ ์ค„์–ด๋“ ๋‹ค.
  2. ์ ˆ๋Œ€ ์ค„์–ด๋“ค์ง€ ์•Š๊ณ  ์ž๊ธฐ ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ ์‚์ ธ๋‚˜์˜จ๋‹ค.
  3. ๋‹ค์Œ ์ค„๋กœ ์ž๋™์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค.
  4. ์‚ฌ๋ผ์ง„๋‹ค.

โœ… ์ •๋‹ต: 2. ์ ˆ๋Œ€ ์ค„์–ด๋“ค์ง€ ์•Š๊ณ  ์ž๊ธฐ ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ ์‚์ ธ๋‚˜์˜จ๋‹ค.

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ: flex-shrink๋Š” ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•  ๋•Œ ์•„์ดํ…œ์ด ์–ผ๋งˆ๋‚˜ ์ค„์–ด๋“ค์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋น„์œจ์ž…๋‹ˆ๋‹ค. 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด "์–ด๋–ค ์ผ์ด ์žˆ์–ด๋„ ๋‚˜๋Š” ์ค„์–ด๋“ค์ง€ ์•Š๊ฒ ๋‹ค"๋Š” ๊ณ ์ง‘์„ ๋ถ€๋ฆฌ๊ฒŒ ๋˜์–ด ์ปจํ…Œ์ด๋„ˆ ๋ฐ–์œผ๋กœ ๋„˜์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ๋‚ด์šฉ๋ฌผ์ด ์ž˜๋ฆฌ๋ฉด ์•ˆ ๋˜๋Š” ์ค‘์š”ํ•œ ์•„์ด์ฝ˜์ด๋‚˜ ๋ฒ„ํŠผ์—๋Š” flex-shrink: 0์„ ์ค˜์„œ ๋ฐฉ์–ด๋ง‰์„ ์ณ์ค˜์•ผ ํ•ด์š”."

Q3. [์˜์ฒ ์ด์˜ ํ…Œ์ŠคํŠธ ํƒ€์ž„: ์‹ค๋ฌด ๋”œ๋ ˆ๋งˆ]
์˜์ฒ ์ด๊ฐ€ ์นด๋“œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ, ๋งˆ์ง€๋ง‰ ์ค„์˜ ์นด๋“œ ํ•˜๋‚˜๊ฐ€ ํ˜ผ์ž์„œ ์ปจํ…Œ์ด๋„ˆ ์ „์ฒด ๋„ˆ๋น„๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ ๋šฑ๋šฑํ•˜๊ฒŒ ๋Š˜์–ด๋‚˜ ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ์˜์ˆ™ ๋””์ž์ด๋„ˆ ๋‹˜์ด "๋งˆ์ง€๋ง‰ ์นด๋“œ๋„ ๋‹ค๋ฅธ ์นด๋“œ๋ž‘ ๋˜‘๊ฐ™์€ ํฌ๊ธฐ์—ฌ์•ผ ํ•ด์š”!"๋ผ๊ณ  ํ•˜์‹œ๋„ค์š”. ์˜์ฒ ์ด๊ฐ€ flex ์†์„ฑ์„ ์ด์šฉํ•ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•ด์•ผ ํ• ๊นŒ์š”?

โœ… ์ •๋‹ต: flex-grow: 0 (๋˜๋Š” flex: none)์„ ์ฃผ์–ด ํ™•์žฅ์„ ๋ง‰๊ณ , flex-basis๋‚˜ width๋กœ ๊ณ ์ • ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•œ๋‹ค.

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ๋ฌธ์ œ ์ง„๋‹จ: flex-grow: 1์€ "๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋นˆ ๊ณต๊ฐ„์„ ์ฑ„์›Œ๋ผ"๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ๋ช…๋ น์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ค„๋กœ ๋‚˜์—ด๋œ ์นด๋“œ ๋ฆฌ์ŠคํŠธ์—์„œ ๋งˆ์ง€๋ง‰ ์ค„์— ์•„์ดํ…œ์ด ํ•˜๋‚˜๋งŒ ๋‚จ์œผ๋ฉด, ๊ทธ ์•„์ดํ…œ์ด ํ•ด๋‹น ์ค„์˜ ๋ชจ๋“  ์—ฌ๋ฐฑ์„ ๋…์‹ํ•˜๊ฒŒ ๋˜์–ด ๋””์ž์ธ์ด ๊นจ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (๋งˆ์น˜ ํ˜ผ์ž์„œ ์†ŒํŒŒ ์ „์ฒด๋ฅผ ์ฐจ์ง€ํ•˜๊ณ  ๋ˆ„์›Œ์žˆ๋Š” ์–„๋ฏธ์šด ์นœ๊ตฌ์ฒ˜๋Ÿผ์š”!)
  • ํ•ด๊ฒฐ ๋ฐฉ์•ˆ (์‹ค๋ฌด ํ•ต์‹ฌ):
    1. ์ ˆ์ œํ˜• (Flex-grow: 0): ์•„์ดํ…œ์— flex-grow: 0์„ ์ฃผ์–ด ๋ฌด๋ถ„๋ณ„ํ•œ ํ™•์žฅ์„ ๋ง‰์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  flex-basis: calc(50% - gap)์ด๋‚˜ width๋กœ ๋ช…ํ™•ํ•œ ์ž๊ธฐ ์ž๋ฆฌ๋ฅผ ์ง€์ •ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    2. ๊ฑด์ถ•ํ˜• (Grid): ์• ์ดˆ์— ์ด๋Ÿฐ ๊ฒฉ์žํ˜• ๋ ˆ์ด์•„์›ƒ์€ 07๊ฐ•์—์„œ ๋ฐฐ์šธ CSS Grid๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์™„๋ฒฝํ•œ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค. (Grid๋Š” ์ค„์ด ๋ฐ”๋€Œ์–ด๋„ ๊ฐ ์นธ์˜ ํฌ๊ธฐ๋ฅผ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋‹ˆ๊นŒ์š”!)

โŒ ๋ฌธ์ œ ์ƒํ™ฉ: flex-grow: 1 (๋งˆ์ง€๋ง‰ ์•„์ดํ…œ ๋น„๋Œ€ํ™”)

ํ˜ผ์ž ๋šฑ๋šฑํ•ด์ง!

โœ… ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: flex-grow: 0 (๋„ˆ๋น„ ๊ณ ์ •)

ํฌ๊ธฐ ์œ ์ง€!
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, flex: 1์€ ๋งˆ๋ฒ•์˜ ์ฃผ๋ฌธ์ด ์•„๋‹ˆ์—์š”. ์ƒํ™ฉ์— ๋”ฐ๋ผ ๊ณต๊ฐ„์„ ๋‚˜๋ˆ  ๊ฐ–์ง€ ์•Š๋„๋ก 0์œผ๋กœ ์ž ๊ทธ๋Š” ๋ฒ•๋„ ๋ฐฐ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ์—ฌ๋Ÿฌ ์ค„ ๋ ˆ์ด์•„์›ƒ์—์„œ flex-grow๋Š” ์–‘๋‚ ์˜ ๊ฒ€์ด๋‹ˆ ์กฐ์‹ฌํ•ด์„œ ํœ˜๋‘˜๋Ÿฌ์•ผ ํ•ด์š”!"
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "๋‚จ ์ฃผ๊ธด ์•„๊น๊ณ  ๋‚˜๋งŒ ์ปค๊ธด ์‹ซ์„ ๋•? flex-grow: 0์œผ๋กœ ์š•์‹ฌ์„ ๋ฒ„๋ฆฌ๊ณ  ์ •๋Ÿ‰์„ ์ง€ํ‚ค์ž!"

๐Ÿฃ ์˜์ฒ ์ด์˜ ํ‡ด๊ทผ ์ผ๊ธฐ

์˜ค๋Š˜ float์„ ๋ฒ„๋ฆฌ๊ณ  Flexbox์˜ ์„ธ๊ณ„์— ์ž…์„ฑํ–ˆ๋‹ค.
์ˆ˜์ง ์ค‘์•™ ์ •๋ ฌ์ด ๋‹จ ๋‘ ์ค„ ๋งŒ์— ๋๋‚˜๋Š” ๊ฑธ ๋ณด๊ณ  ๋‚ด ์ง€๋‚œ ๋ฐค์ƒ˜์ด ํ—ˆ๋งํ•˜๊ฒŒ ๋А๊ปด์กŒ์ง€๋งŒ, ์ด์ œ๋ผ๋„ ์•Œ์•˜์œผ๋‹ˆ ๋‹คํ–‰์ด๋‹ค.
ํŠนํžˆ flex-grow๋ž‘ flex-shrink๊ฐ€ ๋‚ด๋ถ€์ ์œผ๋กœ ์ˆ˜ํ•™ ๊ณ„์‚ฐ์„ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒŒ ์ •๋ง ์‹ ๊ธฐํ–ˆ๋‹ค.

๐Ÿ’ก "์ •๋ ฌ์€ ์ฃผ๊ด€์ด ์•„๋‹ˆ๋ผ ์ถ•(Axis)์— ์˜ํ•œ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐฐ์น˜๋‹ค. ์ถ•์„ ์ง€๋ฐฐํ•˜๋Š” ์ž๊ฐ€ ๋ ˆ์ด์•„์›ƒ์„ ์ง€๋ฐฐํ•œ๋‹ค."

์˜ํ˜ธ ๋‹˜์ด "๋‹จ์ˆœํžˆ ์™ธ์šฐ์ง€ ๋ง๊ณ  ๊ณต๊ฐ„์ด ์–ด๋–ป๊ฒŒ ๋‚จ๊ณ  ๋ชจ์ž๋ผ๋Š”์ง€๋ฅผ ๋А๊ปด๋ด๋ผ"๋ผ๊ณ  ํ•˜์…จ๋Š”๋ฐ, ์ง‘์— ๊ฐ€๋Š” ์ง€ํ•˜์ฒ  ์ขŒ์„๋„ Flexbox๋กœ ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ € ์•„์ €์”จ๊ฐ€ ์•‰์œผ๋ฉด์„œ ๋‚ด ๊ณต๊ฐ„์ด 'shrink' ๋˜๊ณ  ์žˆ๋„ค... ๋‚ด์ผ์€ 2์ฐจ์› ๋งˆ๋ฒ•์‚ฌ Grid๋ฅผ ๋ฐฐ์šด๋‹ค๋Š”๋ฐ ๋ฒŒ์จ ๊ธฐ๋Œ€๋œ๋‹ค. ๐Ÿงฉ


๐Ÿ”— ๋” ์•Œ์•„๋ณด๊ธฐ