2023.01.04. Flexbox
https://www.youtube.com/watch?v=7neASrWEFEM
์ ๋งํฌ๋ก ๊ณต๋ถํจ.
๐๊ฟํ๐
๋ค์ html ์ฝ๋๋ฅผ ๊ฐ๋จํ๊ฒ ์์ฑํ๋ ค๋ฉด
div.container>div.item.item${$}*10
๋ฅผ ์์ฑํ ํ์ TAB ํค๋ฅผ ๋๋ฅด๋ฉด ๋จ.
Flexbox๋ฅผ ์ดํดํ๋ ๋ฐ์ 2๊ฐ์ง๊ฐ ์ค์.
--
<๊ฐ๋
1>
Flexbox ์๋ ์ค์ฌ์ถ๊ณผ ๋ฐ๋์ถ์ด ์์.
์ํ์ถ์ผ๋ก ์ ๋ ฌ๋์ด ์ํ์ถ์ด ์ค์ฌ์ถ์ธ ๊ฒ์ ์ดํดํ ์ ์์, ์์ง์ถ์ ๋ฐ๋์ถ์ด ๋จ.
๋ฐ๋๋ก ๋ค์ ๊ทธ๋ฆผ์,
์์ง์ถ์ผ๋ก ์ ๋ ฌ -> ์์ง์ถ์ด ์ค์ฌ์ถ, ์ํ์ถ์ด ๋ฐ๋์ถ์ด ๋จ.
์ค์ฌ์ถ์ ์ด๋์ ๋๋๋์ ๋ฐ๋ผ ๋ฐ๋๋ก ๋ฐ๋๋ค๊ณ ๋ณด๋ฉด ๋จ.
.container {
background: beige;
height: 10vh;
display: flex;
flex-direction: row
flex-wrap: nowrap;
}
height: 100vh; -> ๋ถ๋ชจ์ ์๊ด์์ด ๋ณด์ด๋ ๊ณณ์ 100% ๋ค ์์ดํ
์ ์ถ๋ ฅํ๊ฒ ๋ค
display: flex; -> flexbox๋ฅผ ์ด์ฉํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์จ์ค์ผ ํจ
flex-direction: row; -> ๊ธฐ๋ณธ๊ฐ์ Row. ์ผ->์ค ๋ฐฉํฅ์.
flex-direction: row-reverse; -> ์ค->์ผ ๋ฐฉํฅ
flex-direction: column; -> ๋ฐ์ค๋ค์ด ์์์ ์๋๋ก ์ด ๋ฐฉํฅ์ผ๋ก ํ์๋จ.
flex-wrap: nowrap; -> wrap์ ๊ธฐ๋ณธ๊ฐ์. ์์ดํ
๋ค์ด ์ถ๋ ฅ์ฐฝ์ ์ค์ด๊ณ ๋๋ฆฌ๋ ์๊ด์์ด ํ ์ค์ ๊ณ์ ๋ถ์ด์๊ฒ ๋๋ ๊ฒ.
flex-wrap: rap; -> ์์ดํ
๋ค์ด ํ ์ค์ ์ฐจ๋ฉด ์๋์ ์ผ๋ก ๋ค์ ๋ผ์ธ์ผ๋ก ๋์ด๊ฐ.
flex-wrap: wrap-reverse; -> ๊ฑฐ๊พธ๋ก ์๋์์๋ถํฐ ์์ดํ
๋ฒํธ๊ฐ ๋งค๊ฒจ์ง๊ฒจ wrapping๋จ.
flex-flow: column nowrap; -> ํ ์ค๋ก direction๊ณผ wrap ์์ฑ์ ์ค์ ํด์ค ์ ์์.
justify-content : ์ค์ฌ์ถ์์ ์์ดํ ์ ์ด๋ป๊ฒ ๋ฐฐ์นํ ๊ฑด์ง ๊ฒฐ์ ํด์ค.
justify-content: flex-start; : ์ฒ์๋ถํฐ ์ผ->์ค ๋ฐฉํฅ์ผ๋ก. ์์ง์ถฉ์ด ์ค์ฌ์ถ์ด๋ผ๋ฉด ์์์ ์๋๋ก
justify-content: flex-end; : ์ค๋ฅธ์ชฝ ์ ๋ ฌ๊ณผ ๊ฐ์ ํจ๊ณผ. ์ค->์ผ ๋ฐฉํฅ. direction์ด column์ด๋ฉด ๋ฐ์์ ์๋์ชฝ์ผ๋ก ๋ฐฐ์นํ๊ฒ ๋จ.
*column-reverse์ ์ํฅ ๋ฐ์ง ์๊ณ ์์ดํ
์์๋ ๊ทธ๋๋ก ๊ฐ๊ฒ๋จ.
justify-content: center; : ์์ดํ
๋ค์ ์ผํฐ์ ๋ง์ถฐ์ ๋์.
justify-content: space-around; : ๋ฐ์ค๋ฅผ ๋๋ฌ์ธ๊ฒ ๊ณต๊ฐ์ ๋ฃ์ด์ค.
justify-content: space-evenly; : ์์ดํ
๊ฐ๊ฒฉ์ ์์ ๋๊ฐ๊ฒ ํด์ค.
justify-content: space-between; : ์ผ, ์ค๋ ์ปจํ
์ด๋์ ๋ฑ ๋ง๊ฒ, ์์ดํ
์ฌ์ด์ธ ์ค๊ฐ์๋ง ๊ฐ๊ฒฉ์ ๋ฃ์ด์ค.
align-items : ๋ฐ๋์ถ์์์ ์์ดํ ์์ฑ๊ฐ์ ๊ฒฐ์ ํด์ค
align-items: center; : ์ค์ฌ์ถ์ด ์ํ์ถ์ด๋ฏ๋ก, ๋ฐ๋์ถ์ธ ์์ง์ถ์์ ์์ดํ
๋ค์ด ์ ์ค์์ ์์นํ๊ฒ ํด์ค.
align-items: baseline; : item์ค ํ๋์ Padding์ด ์์ด์ ๋ฐ์ค ์์ ํ
์คํธ ์์น๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ์
์ ์ฌ์ง์์,
์์ฒ๋ผ ํ
์คํธ๊ฐ ๊ฐ์ ๋ผ์ธ์์ ๊ท ๋ฑํ๊ฒ ๋ฐฐ์น๋ ์ ์๋๋ก ๋ฐ๊ฟ์ค.
align-content: baseline; : ๋ฐ๋์ถ์์ ์์ดํ
์ ์ง์ ํ๊ฒ ๋จ.
align-content: space-between, center, evenly ๋ฑ ์์์ ์ ์ฉํ ์์ฑ ๋ค ๋ฐ๋์ถ์์ ์ ์ฉ๋๋๋ก ์ด์ฉ๊ฐ๋ฅ
ํท๊ฐ๋ฆด ๋๋ง๋ค ์ฐธ๊ณ ํ ์ฌ์ดํธ : https://velog.io/@choonghee-lee/%EB%B2%88%EC%97%AD-A-Complete-Guide-to-Flexbox
flex-grow: number; -> number์ ์ด๋ค ์ซ์๋ฅผ ๋ฃ๋๋์ ๋ฐ๋ผ ์์ดํ ๊ธธ์ด๊ฐ ๋์ด๋๊ฒ ํ ์ ์์. ์ปจํ ์ด๋๋ฅผ ๋๋ฆฌ๋ฉด ๊ฐ์ด ๋์ด๋จ. ์ฌ์ง์์ item1์ ๊ฐ์ด 2์ด๊ธฐ ๋๋ฌธ์ 1์ธ ๋ค๋ฅธ 2,3์ ๋๋ฐฐ ๊ธธ์ด๋ก ๋์ด๋๊ฒ ๋จ.
flex-shrink: number; -> ์ปจํ ์ด๋๊ฐ ์ ์ ์์์ก์ ๋ ์ด๋ป๊ฒ ํ๋ํ๋๋ฅผ ์ง์ . ์ปจํ ์ด๋๋ฅผ ์ค์ด๋ฉด ์ ํด์ค ์ซ์์ ๋น์จ๋งํผ ๋ ์ค์ด๋ค๊ณ ๋ ์ค์ด๋ค๊ณ ๊ฐ ๊ฒฐ์ ๋จ.
flex-basis: auto; -> grow๋ shrnik์ ๋ง์ถฐ์ ์์ดํ ์ ์ง์ ๋ ๋๋ก ๋ณํ๊ฒ ๋จ.
flex-basis: n%; -> ๊ธฐ๋ณธ๊ฐ์ auto. auto์ ๊ฒฝ์ฐ grow๋ shrink์ ์ํฅ์ ๋ฐ๊ฒ ๋์ด ์์. ๋น์จ์ ์ค์ ํด์ฃผ๋ฉด ์ปค์ง๊ฑฐ๋ ์์์ง ๋ ๊ทธ ๋งํผ์ ๋น์จ๋๋ก ์กฐ์ ๋จ.
align-self: ->์ปจํ ์ด๋์ ์ง์ ๋ ๊ฒ์ ๋ฒ์ด๋์ ์์ดํ ํ๋๋ง ์์ฑ์ ๋ฐ๊ฟ์ค ์ ์์.
ex. align-self: center;
์ ๋ฆฌ
Flexbox Froggy๋ก ์ฐ์ตํด๋ณด๋ฉด ์ข์ ๊ฒ !
์ค๋๋ ๋๋ฆผ์ฝ๋๋ ๊ฐ์ฌํฉ๋๋ค :)!!