์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

HTML & CSS flex์ •๋ฆฌ(2)

youngdeok 2023. 3. 17. 20:17

์˜ค๋Š˜์€ HTML & CSS flex ์ •๋ฆฌ๋ฅผ ๋” ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

flex-basis, flex-grow, flex-shrink์— ๋Œ€ํ•ด์„œ์š”.

๋‚ด์šฉ์€ beam camp์˜ ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋” ๋งŽ์€ ๋‚ด์šฉ์„ ์›ํ•˜์‹œ๋ฉด

https://www.youtube.com/@veamcamp

flex-basis

์ดˆ๊ธฐ ๊ฐ’์„ ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค์›Œ๋“œ์ธ flex-basis๋ถ€ํ„ฐ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•˜์ˆ™์ง‘์— 3๋ช…์ด ๊ฐ™์ด ์‚ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์นœ๊ตฌ๋“ค์ด ์‚ด๊ณ  ์žˆ๋Š” ๋ฐฉ์˜ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”???

width๋ฅผ ์ฃผ๋Š” ๋ฐฉ๋ฒ•๊ณผ flex-basis์˜ ๊ฐ’์„ ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค!

๋ฐฉ์ด ๋„“์–ด ์กŒ๋„ค์š”. ใ…Žใ…Ž

๊ทธ๋Ÿผ ๋‘˜(flex-basis, width)์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ผ๊นŒ์š”???

์ฐจ์ด๋Š” ์ถ•์— ์žˆ์Šต๋‹ˆ๋‹ค. flex-direction์ด row์ธ ๊ฒฝ์šฐ flex-basis๋Š” width์™€ ๊ฐ™์•„ ์ง€์ง€๋งŒ, ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ height๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋˜, ๋งŒ์•ฝ flex-basis์— 0์„ ๋„ฃ์–ด์ค„ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?(๋ฐฉ์˜ ํฌ๊ธฐ๋ฅผ 0์œผ๋กœ ๋งŒ๋“ ๋‹ค๊ณ  ์ƒ๊ฐํ•ด ์ฃผ์‹ญ์‹œ์š”)

์™œ ๋ฐฉ์ด ์ข์•„์ง€์ง€ ์•Š์„๊นŒ์š”????.

๋‹ต์€ min-width๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํ…์ธ ๋“ค์€ min-width๊ฐ’์ด auto๋กœ ์ง€์ •์ด ๋˜์–ด ์žˆ๋Š”๋ฐ ์ด min-height: auto ํ‚ค์›Œ๋“œ๊ฐ€ ๋ฐฉ์ด ์—†์–ด์ง€๋Š” ๊ฑธ ๋ง‰์•„์ฃผ๊ณ  ์žˆ๋Š” ๊ฒ๋‹ˆ๋‹ค.

์ด ๊ฐ’๋„ 0์œผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ์‹œ๋ฉด ๋ฐฉ์ด ์—†์–ด์ง€๋Š” ๋ถˆํ–‰(?)์„ ๋งŒ๋‚˜์‹ค์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

flex-grow

์ด๋ฆ„์—์„œ ๋ถ€ํ„ฐ ์•Œ์ˆ˜ ์žˆ๋“ฏ์ด ๋ญ”๊ฐ€ ์ž๋ผ๋‚˜๋Š” ๊ฒƒ์ด ๊ฒ ์ฃ ???

์œ„์— ์ด๋ฏธ์ง€์—์„œ ์ดˆ๋ก์ƒ‰ ๋ถ€๋ถ„์„ ๋‚˜๋ˆ ์„œ ๊ฐ–๋Š” ๊ฒƒ!. ๊ทธ๊ฒƒ์ด flex-grow์ž…๋‹ˆ๋‹ค.

๊ธฐ์–ตํ•˜์…”์•ผ ํ•  ๊ฒƒ์€ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ!!! ๋‚จ์€ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

๊ทธ ๊ณต๊ฐ„์„ flex-grow: 1์ด ๋“ค์–ด๊ฐ„ ์š”์†Œ๊ฐ€ ๊ฐ–๋Š” ๊ฒƒ์ด์ฃ .

์ง€๊ธˆ์€ ๋ชจ๋“  ์š”์†Œ๋“ค์— flex-grow: 1์˜ ๊ฐ’์„ ๋ถ€์—ฌํ•˜์˜€์ง€๋งŒ, ๋งŒ์•ฝ ์ €์ค‘์— 1๋ช…์ด ํ•˜์ˆ™์ง‘ ์•„๋“ค ํ˜น์€ ๋งŽ์€ ๋ˆ์„ ์ง€๋ถˆํ•œ ์‚ฌ๋žŒ์ด๋ฉด ์ € ์ดˆ๋ก์ƒ‰ ๊ณต๊ฐ„์„ ๋ชจ๋‘ ์ฐจ์ง€ํ•˜๊ฒŒ๋˜๊ฒ ์ฃ ???

๊ธฐ๋ณธ์ ์œผ๋กœ flex-basis๊ฐ’์— “๋‚จ์€ ๊ณต๊ฐ„์„ ๋”ํ•œ๋‹ค” ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ํŽธํ•ฉ๋‹ˆ๋‹ค.

flex-shrink

shrink: ์ˆ˜์ถ•

์ด๊ฒƒ๋„ ๋Œ€๊ฐ• ๋‹จ์–ด์˜ ๋А๋‚Œ๋งŒ ๋ณด๊ณ  ๊ฐ์ด ์˜ค์‹œ์ฃ ???

์ž ๋ชจ๋“  ๋ฐฉ์ด ๊ฐ€๋“ ์ฐป์Šต๋‹ˆ๋‹ค. ํ•œ๋ช…์ด ๋” ๋“ค์–ด์˜ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”???

์–ด? ํ•˜์ˆ™์ง‘ ์ฃผ์ธ ๋ถ„์ด ๋ถˆ๋ฒ• ์ค‘์ถ•์„ ํ•œ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ด๋Ÿด ์ˆ˜ ์žˆ๋Š” ์ด์œ ๋Š” flex-shrink๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. flex-shirink ๊ฐ’์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ดˆ๊นƒ๊ฐ’์ด 1์ธ๋ฐ, ์ˆ˜์ถ•์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

flex-shirink ๊ฐ’์„ 0์œผ๋กœ ์ฃผ๋ฉด 1๋ช…์ด ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€ ๋ฒ„๋ฆฌ๋Š” ๋ชจ์Šต์„ ๋ณผ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋งŒ์•ฝ flex-shirink: 1๋กœ ์ฃผ๊ณ  ํ•œ๋ช…์„ ๋” ์ฑ„์šฐ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”????. ์‹ ๊ธฐํ•˜๊ฒŒ๋„ ์ค„์–ด๋“ค์ง€ ์•Š๊ณ  ํ•˜์ˆ™์ง‘์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด๊ฐ€ ๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ์™œ ์ด๋Ÿฐ ์ผ์ด ๋ฒŒ์–ด์ง€๋Š” ๊ฑธ๊นŒ์š”??? ์ด์œ ๋Š” ์•„๊นŒ ์„ค๋ช…ํ–ˆ๋“ฏ์ด min-width๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ contents๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ฌด๋ฆฌ shirink๋ฅผ ๋„ฃ์–ด์ฃผ์–ด๋„ ๋„˜์–ด๊ฐ‘๋‹ˆ๋‹ค. ์›์น˜ ์•Š์„ ๊ฒฝ์šฐ ์•„๊นŒ ์„ค๋ช…ํ–ˆ๋˜๊ฒƒ ์ฒ˜๋Ÿผcontents์˜ ์ดˆ๊ธฐ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์ฃผ๋ฉด ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒ flex์— ๋Œ€ํ•œ ์„ค๋ช…์ด์˜€์Šต๋‹ˆ๋‹ค!.