HTML & CSS flex์ ๋ฆฌ(2)
์ค๋์ 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์ ๋ํ ์ค๋ช ์ด์์ต๋๋ค!.