CSS : Flexbox Layout

2025. 7. 31. 16:01ใ†Style/CSS

๋ฐ˜์‘ํ˜•

๋ชฉ์ฐจ

1. Flexbox๋ž€?

2. Flex Container

3. Flex Item


1. Flexbox๋ž€?

CSS Flexbox๋Š” ๋ ˆ์ด์•„์›ƒ์„ ํšจ์œจ์ ์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์•„์›ƒ ๋ชจ๋ธ์ด๋‹ค.

์ฃผ๋กœ ํ–‰/์—ด ๋‹จ์œ„๋กœ ์•„์ดํ…œ์„ ์ •๋ ฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

โญ ํ•ต์‹ฌ ๊ฐœ๋…

์šฉ์–ด ์„ค๋ช…
Flex Container Flexbox ๋ ˆ์ด์•„์›ƒ์„ ์ ์šฉํ•˜๋Š” ๋ถ€๋ชจ ์š”์†Œ (display: flex)
Flex Item Flex Container์˜ ์ž์‹ ์š”์†Œ๋“ค
Main Axis ์•„์ดํ…œ์ด ๋ฐฐ์น˜๋˜๋Š” ์ฃผ ์ถ• (๊ธฐ๋ณธ๊ฐ’ : ๊ฐ€๋กœ)
Cross Axis ์ฃผ ์ถ•์— ์ˆ˜์ง์ธ ์ถ• (๊ธฐ๋ณธ๊ฐ’ : ์„ธ๋กœ)
Direction flex-direction์— ๋”ฐ๋ผ ์ถ•์˜ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •

 

โญ Flex Container ์†์„ฑ

์ „์ฒด์ ์ธ ์ •๋ ฌ๊ณผ ํ๋ฆ„์€ flex container์— ์ •์˜ํ•œ๋‹ค.

์†์„ฑ ๊ฐ’ ์˜ˆ์‹œ ์„ค๋ช…
*display flex, inline-flex Flex ๋ ˆ์ด์•„์›ƒ์„ ํ™œ์„ฑํ™”
*flex-direction row(default),
row-reverse, column, column-reverse
์ฃผ ์ถ•์˜ ๋ฐฉํ–ฅ ์„ค์ •
flex-wrap nowrap(default),
wrap, wrap-reverse
์ค„๋ฐ”๊ฟˆ ์—ฌ๋ถ€ ๊ฒฐ์ •
flex-flow row wrap flex-direction  +  flex-wrap ๋‹จ์ถ• ์†์„ฑ
justify-content flex-start, center, space-between,
space-around, space-evenly
์ฃผ ์ถ• ์ •๋ ฌ ๋ฐฉ์‹
align-items stretch, flex-start, center, baseline, flex-end ๊ต์ฐจ ์ถ• ์ •๋ ฌ ๋ฐฉ์‹
align-content stretch, center, space-between ์—ฌ๋Ÿฌ ์ค„์ผ ๋•Œ ๊ต์ฐจ ์ถ• ์ •๋ ฌ (wrap์ผ ๋•Œ ์‚ฌ์šฉ)

 

 

โญ Flex Item ์†์„ฑ

์•„์ดํ…œ์˜ ํฌ๊ธฐ๋‚˜ ์ˆœ์„œ์— ๊ด€๋ จ๋œ ์†์„ฑ์€ flex item์— ์ •์˜ํ•œ๋‹ค.

์†์„ฑ ๊ฐ’ ์˜ˆ์‹œ ์„ค๋ช…
order ์ˆซ์ž (e.g. 1, -1) ์•„์ดํ…œ ์ •๋ ฌ ์ˆœ์„œ ๋ณ€๊ฒฝ
flex-grow 0 ์ด์ƒ ์ •์ˆ˜ ๋‚จ๋Š” ๊ณต๊ฐ„ ๋น„์œจ๋กœ ํ™•์žฅ
flex-shrink 0 ์ด์ƒ ์ •์ˆ˜ ๊ณต๊ฐ„ ๋ถ€์กฑ ์‹œ ์ค„์–ด๋“œ๋Š” ๋น„์œจ
flex-basis auto, 100px ์•„์ดํ…œ์˜ ๊ธฐ๋ณธ ํฌ๊ธฐ ์„ค์ •
flex 1, 0 1 auto ์œ„ 3๊ฐœ์˜ ์†์„ฑ์„ ๋‹จ์ถ•ํ•˜์—ฌ ์„ค์ •
align-self auto, flex-start, center ๊ฐœ๋ณ„ ์•„์ดํ…œ์˜ ๊ต์ฐจ ์ถ• ์ •๋ ฌ

 


2. Flex Container

Flex Container, ์ฆ‰ ๋ถ€๋ชจ ์š”์†Œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ๊ณผ ์†์„ฑ๊ฐ’๋“ค์„ ์•Œ์•„๋ณด์ž.

1. display ์†์„ฑ

ํ•ด๋‹น ๋ถ€๋ชจ ์š”์†Œ๋ฅผ flex container๋กœ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

์†์„ฑ๊ฐ’์œผ๋กœ flex, inline-flex๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

 

2. flex-direction

์ฃผ ์ถ•์˜ ๋ฐฉํ–ฅ์„ ์ง€์ •ํ•œ๋‹ค.

์†์„ฑ๊ฐ’์œผ๋กœ row(default), column, row-reverse, column-reverse๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

 

row, row-reverse

 

column, column-reverse


3. flex-wrap

์ค„๋ฐ”๊ฟˆ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•œ๋‹ค.

์†์„ฑ๊ฐ’์œผ๋กœ nowrap(default), wrap, wrap-reverse๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

 

 

4. justify-content

์ฃผ ์ถ• (๊ธฐ๋ณธ ๊ฐ€๋กœ ๋ฐฉํ–ฅ)์˜ ์ •๋ ฌ ๋ฐฉ์‹์„ ์ •ํ•œ๋‹ค.

flex-start, center, flex-end, space-between, space-around, space-evenly ๋“ฑ์˜ ์†์„ฑ๊ฐ’์„ ์ž‘์„ฑํ•œ๋‹ค.

space-around์™€ space-evenly์˜ ์ฐจ์ด๋Š” ์–‘ ๋์˜ ๊ณต๋ฐฑ์„ ์ ˆ๋ฐ˜์œผ๋กœ/๋™์ผํ•˜๊ฒŒ์˜ ์ฐจ์ด์ด๋‹ค.

 

5. align-items

๊ต์ฐจ์ถ• ์ •๋ ฌ๋ฐฉ์‹์„ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ด๋‹ค.

 

5. align-items

์ž์‹ ์š”์†Œ๊ฐ€ ์—ฌ๋Ÿฌ ์ค„์ผ ๋•Œ align ๋ฐฉ์‹์„ ์ •ํ•œ๋‹ค.


2. Flex Item

flex box์˜ item์—๊ฒŒ ์ค„ ์ˆ˜ ์žˆ๋Š” ์†์„ฑ๋“ค์„ ์‚ฌ์šฉํ•ด๋ดค๋‹ค.

  • order : ๋งˆ์ด๋„ˆ์Šค(-)๊ฐ’์œผ๋กœ ์†์„ฑ๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ์ˆœ์„œ๋ฅผ ๊ฐ€์žฅ ์•ž์œผ๋กœ 
  • flex-grow : ๋‚จ๋Š” ๊ณต๊ฐ„์„ ๋” ๋งŽ์ด ์ฐจ์ง€ํ•˜๋„๋ก ํ•จ
    0์ผ ๊ฒฝ์šฐ ์ ˆ๋Œ€ ํ™•์žฅํ•˜์ง€ ์•Š์Œ
    1์ด์ƒ์ผ ๊ฒฝ์šฐ ๋‚จ๋Š” ๊ณต๊ฐ„์„ ๋น„๋ก€์ ์œผ๋กœ ์ฐจ์ง€
  • flex-shrink : ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•  ๊ฒฝ์šฐ ๋” ๋จผ์ € ์ค„์–ด๋“ฆ
    0์ด๋ฉด ์ ˆ๋Œ€ ์ค„์–ด๋“ค์ง€ ์•Š์Œ
    1 ์ด์ƒ์ด๋ฉด ๋น„๋ก€์ ์œผ๋กœ ์ค„์–ด๋“ฆ
  • flex-basis : ๊ธฐ๋ณธ ๋„ˆ๋น„ ์ง€์ • (width, height ๋ณด๋‹ค ์šฐ์„ ์‹œ ๋จ)
  • align-self : ๊ฐœ๋ณ„ flex item์— ๋Œ€ํ•ด ๊ต์ฐจ์ถ•์˜ ์ •๋ ฌ์„ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์œผ๋กœ, align-items ๊ฐ’์„ ๋ฌด์‹œํ•˜๊ณ  ํ•ด๋‹น ์•„์ดํ…œ๋งŒ ๋”ฐ๋กœ ์ •๋ ฌ

 

 

 

์ฐธ๊ณ 

๋ฐ˜์‘ํ˜•

'Style > CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

CSS : Grid Layout  (2) 2025.07.31
CSS : Position ์†์„ฑ  (1) 2025.07.30
CSS : ์บ์Šค์ผ€์ด๋“œ (Cascade) : ์Šคํƒ€์ผ ์ ์šฉ ์šฐ์„ ์ˆœ์œ„  (3) 2025.07.29
CSS : CSS ์„ ํƒ์ž (CSS Selector)  (2) 2025.07.29
CSS : display์™€ float  (0) 2025.07.28