HTML + CSS + JS

10-2. CSS ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ (flex-direction, flex-flow, flex-wrap, justify-content, align-content, align-self, align-items)

์ดˆ๋ณด๋ณด ํ˜œ์ง„ 2021. 10. 17. 17:17
728x90

1. ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ 

๊ทธ๋ฆฌ๋“œ ๋ ˆ์ด์•„์›ƒ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๊ณ  ๊ฐ ๋ฐ•์Šค๋ฅผ ์›ํ•˜๋Š” ์œ„์น˜์— ๋”ฐ๋ผ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

์ด๋•Œ ์—ฌ์œ  ๊ณต๊ฐ„์ด ์ƒ๊ธฐ๋ฉด ๋„ˆ๋น„๋‚˜ ๋†’์ด๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋Š˜์ด๊ฑฐ๋‚˜ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. 

 

1๏ธโƒฃ ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ (๋ถ€๋ชจ ๋ฐ•์Šค) : ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ์„ ์ ์šฉํ•  ๋Œ€์ƒ์„ ๋ฌถ๋Š” ์š”์†Œ์ด๋‹ค. 

2๏ธโƒฃ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ (์ž์‹ ๋ฐ•์Šค) : ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ์„ ์ ์šฉํ•  ๋Œ€์ƒ์ด๋‹ค. 

3๏ธโƒฃ ์ฃผ์ถ• (main axis) : ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ๋ฐฐ์น˜ํ•˜๋Š” ๊ธฐ๋ณธ ๋ฐฉํ–ฅ์ด๋‹ค. (๊ธฐ๋ณธ์ ์œผ๋กœ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ˆ˜ํ‰๋ฐฉํ–ฅ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค.)

4๏ธโƒฃ ๊ต์ฐจ์ถ• (cross axis) : ์ฃผ์ถ•๊ณผ ๊ต์ฐจํ•˜๋Š” ๋ฐฉํ–ฅ์„ ๋งํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์œ„์—์„œ ์•„๋ž˜๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

 

 

2. ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ํ•ญ๋ชฉ์„ ๋ฐฐ์น˜ํ•˜๋Š” ์†์„ฑ 

justify-content : ์ฃผ์ถ• ๋ฐฉํ–ฅ์˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•์ด๋‹ค. 

align-items : ๊ต์ฐจ์ถ• ๋ฐฉํ–ฅ์˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•์ด๋‹ค. 

align-self : ๊ต์ฐจ์ถ•์— ์žˆ๋Š” ๊ฐœ๋ณ„ ํ•ญ๋ชฉ์˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•์ด๋‹ค. 

align-content : ๊ต์ฐจ์ถ•์—์„œ ์—ฌ๋Ÿฌ ์ค„๋กœ ํ‘œ์‹œ๋œ ํ•ญ๋ชฉ์˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•์ด๋‹ค. 

 

1๏ธโƒฃ display 

ํ”Œ๋ ‰์Šค ๋ฐ•์Šค ๋ ˆ์ด์•„์›ƒ์„ ๋งŒ๋“ค๋ ค๋ฉด ๋จผ์ € ์›น ์ฝ˜ํ…์ธ ๋ฅผ ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ๋กœ ๋ฌถ์–ด์ค˜์•ผ ํ•œ๋‹ค. 

์ฆ‰, ๋ฐฐ์น˜ํ•  ์›น ์š”์†Œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ ์š”์†Œ๋ฅผ ๊ฐ์‹ธ๋Š” ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ๋ถ€๋ชจ ์š”์†Œ๋ฅผ ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. 

flex : ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ๋ธ”๋ก ๋ผ๋ฒจ ์š”์†Œ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

inline-flex : ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ์ธ๋ผ์ธ ๋ผ๋ฒจ ์š”์†Œ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

2๏ธโƒฃ flex-direction 

flex-direction ์†์„ฑ์€ ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ๋ฐฐ์น˜ํ•˜๋Š” ์ฃผ์ถ•๊ณผ ๋ฐฉํ–ฅ์„ ์ง€์ •ํ•˜๋Š” ์†์„ฑ์ด๋‹ค. 

row : ์ฃผ์ถ•์„ ๊ฐ€๋กœ๋กœ ์ง€์ •ํ•˜๊ณ  ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

row-reverse : ์ฃผ์ถ•์„ ๊ฐ€๋กœ๋กœ ์ง€์ •ํ•˜๊ณ  ๋ฐ˜๋Œ€๋กœ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

column : ์ฃผ์ถ•์„ ์„ธ๋กœ๋กœ ์ง€์ •ํ•˜๊ณ  ์œ„์ชฝ์—์„œ ์•„๋ž˜์ชฝ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

column-reverse : ์ฃผ์ถ•์„ ์„ธ๋กœ๋กœ ์ง€์ •ํ•˜๊ณ  ์•„๋ž˜์ชฝ์—์„œ ์œ„์ชฝ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

3๏ธโƒฃ flew-wrap 

flex-wrap ์†์„ฑ์€ ํ”Œ๋ ‰์Šค ์ปจํ…Œ์ด๋„ˆ ๋„ˆ๋น„๋ณด๋‹ค ๋งŽ์€ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์ด ์žˆ์„ ๊ฒฝ์šฐ ์ค„์„ ๋ฐ”๊ฟ€์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•œ๋‹ค. 

no-wrap : ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ํ•œ ์ค„์— ํ‘œ์‹œํ•œ๋‹ค. 

wrap : ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ์—ฌ๋Ÿฌ ์ค„์— ํ‘œ์‹œํ•œ๋‹ค. 

wrap-reverse : ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ์—ฌ๋Ÿฌ ์ค„์— ํ‘œ์‹œํ•˜๋˜, ์‹œ์ž‘์ ๊ณผ ๋์ ์ด ๋ฐ”๋€๋‹ค. 

4๏ธโƒฃ flex-flow 

flex-flow ์†์„ฑ์€ flex-direction ์†์„ฑ๊ณผ flex-wrap ์†์„ฑ์„ ํ•œ๊บผ๋ฒˆ์— ์ง€์ •ํ•˜์—ฌ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์˜ ๋ฐฐ์น˜ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•˜๊ฑฐ๋‚˜ ์ค„์„ ๋ฐ”๋€๋‹ค. 

๊ธฐ๋ณธ๊ฐ’์€ row no-wrap ์ด๋‹ค. 

 

5๏ธโƒฃ justify-content 

justify-content ์†์„ฑ์€ ์ฃผ์ถ•์—์„œ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ ๊ฐ„์˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ์ง€์ •ํ•œ๋‹ค. 

 

flex-start  : ์ฃผ์ถ•์˜ ์‹œ์ž‘์ ์— ๋งž์ถฐ ๋ฐฐ์น˜

flex-end : ์ฃผ์ถ•์˜ ๋์ ์— ๋งž์ถฐ ๋ฐฐ์น˜ 

center : ์ฃผ์ถ•์˜ ์ค‘์•™์— ๋งž์ถฐ ๋ฐฐ์น˜ 

space-between : ์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ๊ณผ ๋ ํ•ญ๋ชฉ์„ ์ฃผ์ถ•์˜ ์‹œ์ž‘์ ๊ณผ ๋์ ์— ๋ฐฐ์น˜ํ•œ ํ›„ ๋‚˜๋จธ์ง€ ํ•ญ๋ชฉ์€ ๊ทธ ์‚ฌ์ด์— ๊ฐ™์€ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

space-around : ๋ชจ๋“  ํ•ญ๋ชฉ์„ ์ฃผ์ถ•์— ๊ฐ™์€ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

 

6๏ธโƒฃ align-items 

align-items ์†์„ฑ์€ ๊ต์ฐจ์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ์ •๋ ฌํ•œ๋‹ค. 

 

flex-start : ๊ต์ฐจ์ถ•์˜ ์‹œ์ž‘์ ์— ๋งž์ถฐ ๋ฐฐ์น˜ํ•œ๋‹ค. 

flex-end : ๊ต์ฐจ์ถ•์˜ ๋์ ์— ๋งž์ถฐ ๋ฐฐ์น˜ํ•œ๋‹ค. 

center : ๊ต์ฐจ์ถ•์˜ ์ค‘์•™์— ๋งž์ถฐ ๋ฐฐ์น˜ํ•œ๋‹ค. 

baseline : ๊ต์ฐจ์ถ•์˜ ๋ฌธ์ž ๊ธฐ์ค€์„ ์— ๋งž์ถฐ ๋ฐฐ์น˜ํ•œ๋‹ค. 

stretch : ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ๋Š˜๋ ค ๊ต์ฐจ์ถ•์— ๊ฐ€๋“ ์ฐจ๊ฒŒ ๋ฐฐ์น˜ํ•œ๋‹ค. 

7๏ธโƒฃ align-self 

align-self ์†์„ฑ์€ ๊ต์ฐจ์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์˜ ์ •๋ ฌ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•˜์ง€๋งŒ ๊ทธ์ค‘ ํŠน์ • ํ•ญ๋ชฉ๋งŒ ์ง€์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด align-self ์†์„ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค. 

1,3 box๋งŒ ๋ฐฐ์น˜๋จ

 

8๏ธโƒฃ align-content 

align-content ๋Š” ์ฃผ์ถ•์—์„œ ์ค„ ๋ฐ”๋€œ์— ์ƒ๊ฒจ์„œ ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ์—ฌ๋Ÿฌ ์ค„๋กœ ํ‘œ์‹œํ•  ๋•Œ align-content ์†์„ฑ์„ ์ด์šฉํ•˜๋ฉด ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์˜ ๊ฐ„๊ฒฉ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. 

flex-start  : ๊ต์ฐจ์ถ•์˜ ์‹œ์ž‘์ ์— ๋งž์ถฐ ๋ฐฐ์น˜ํ•œ๋‹ค. 

flex-end  : ๊ต์ฐจ์ถ•์˜ ๋์ ์— ๋งž์ถฐ ๋ฐฐ์น˜ํ•œ๋‹ค. 

center : ๊ต์ฐจ์ถ•์˜ ์ค‘์•™์— ๋งž์ถฐ ๋ฐฐ์น˜ํ•œ๋‹ค. 

space-between : ์ฒซ๋ฒˆ์งธ ํ•ญ๋ชฉ๊ณผ ๋ ํ•ญ๋ชฉ์„ ๊ต์ฐจ์ถ•์˜ ์‹œ์ž‘์ ๊ณผ ๋์ ์— ๋งž์ถ”๊ณ  ๋‚˜๋จธ์ง€ ํ•ญ๋ชฉ์€ ๊ทธ ์‚ฌ์ด์— ๊ฐ™์€ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

space-around: ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๊ต์ฐจ์ถ•์— ๊ฐ™์€ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค. 

stretch : ํ”Œ๋ ‰์Šค ํ•ญ๋ชฉ์„ ๋Š˜๋ ค์„œ ๊ต์ฐจ์ถ•์— ๊ฐ€๋“ ์ฐจ๊ฒŒ ๋ฐฐ์น˜ํ•œ๋‹ค. 

* ํ•ญ์ƒ ์ค‘์•™์— ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ• 

 

 

 

 

 

 

 

 

 

 

 

 

728x90