๐ ๋ฐ์ํ์น ์ ์์ ์ ์ฉํ flex box์ ๋ํด์ ์์ธํ ์ค๋ช ํด๋ณด๊ฒ ์ต๋๋ค!
Flex box์๋ ๋ถ๋ชจ-์์ ๊ด๊ณ๊ฐ ์กด์ฌํ๋ค.
์ฆ, ๋ถ๋ชจ์์์ธ Flexible Box ์์๋ ์์์์ Flex Item์ด ๋ค์ด์๋ค
- ๋ถ๋ชจ๋ฐ์ค์ธ flex container์ display: flex;๋ฅผ ์ ์ฉํ๋๊ฒ ์์์ด๋ค.
- display: flex; ๐ block ์์์ ๊ฐ์ ์ฑํฅ์ ๊ฐ์ง (์์ง ์์)
- display: inline-flex; ๐ inline-block ์์์ ๊ฐ์ ์ฑํฅ์ ๊ฐ์ง (์ํ ์์)
โบ ์ฌ๊ธฐ์ flex item๋ค์ ๊ฐ๋ก ๋ฐฉํฅ์ผ๋ก ๋ฐฐ์น๋๊ณ , ์์ ์ด ๊ฐ์ง ๋ด์ฉ๋ฌผ์ width๋งํผ๋ง ์ฐจ์งํ๊ฒ ๋๋ค(inline ์์์ ๊ฐ์) + height๋ ๋์ด๋งํผ ๋์ด๋จ
- flex item๋ค์ด ๋ฐฐ์น๋๋ ์ถ์ ๋ฐฉํฅ์ ๊ฒฐ์ ํ๋ค. (๋ฉ์ธ์ถ์ ๋ฐฉํฅ์ ๊ฐ๋ก๋ก ํ ์ง , ์ธ๋ก๋ก ํ ์ง..)
flex-direction ์ข ๋ฅ 4๊ฐ์ง
- flex container(๋ถ๋ชจ)๊ฐ ๋ ์ด์ flex items(์์)์ ํ ์ค์ ๋ด์ ์ฌ์ ๊ณต๊ฐ์ด ์์ ๋ ์์ดํ ์ค๋ฐ๊ฟ์ ์ด๋ป๊ฒ ํ ์ง ๊ฒฐ์
flex-wrap ์ข ๋ฅ 3๊ฐ์ง
: flex-direction๊ณผ flex-wrap์ ํ๊บผ๋ฒ์ ์ง์ ํ ์ ์๋ ๋จ์ถ ์์ฑ
/* ์์ */
.opt1{flex-flow: row wrap;} /*์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฐฐ์น, ์ค๋ฐ๊ฟ*/
.opt2{flex-flow: row nowrap;} /*์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฐฐ์น, ์ค๋ฐ๊ฟ ์ํ๊ณ ๋์นจ*/
: ๋ฉ์ธ์ถ ๋ฐฉํฅ ์ ๋ ฌ
justify-content ์ข
๋ฅ 6๊ฐ
.opt1{justify-content: flex-start;} /*์์ดํ
๋ค์ ์์์ ์ผ๋ก ์ ๋ ฌ*/
.opt2{justify-content: flex-end;} /*์์ดํ
๋ค์ ๋์ ์ผ๋ก ์ ๋ ฌ*/
.opt3{justify-content: center;} /*์์ดํ
๋ค์ ๊ฐ์ด๋ฐ๋ก ์ ๋ ฌ*/
.opt4{justify-content: space-between;} /*๋ง์ง๋ง ๋ฐ์ค๋ ์์ชฝ ๋์ผ๋ก ๋ถ์ด๊ณ , ์์ดํ
๋ค์ "์ฌ์ด(between)"์ ๊ท ์ผํ ๊ฐ๊ฒฉ ๋ง๋ ๋ค*/
.opt5{justify-content: space-around;} /*์์ดํ
๋ค์ "๋๋ (around)=์์ชฝ ๋์ ์๋ ๋ฐ์ค์ ์์"์ ๊ท ์ผํ ๊ฐ๊ฒฉ์ ๋ง๋ค์ด์ค๋ค.*/
.opt6{justify-content: space-evenly;} /*๋ชจ๋ ๋๊ฐ์ ๊ฐ๊ฒฉ*/
์ฝ๋ ์์๋๋ก ๊ฒฐ๊ณผ๋ฌผ
: ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ
align-items ์ข
๋ฅ 5๊ฐ
.opt1{align-items: stretch;} /*(๊ธฐ๋ณธ๊ฐ)์์ดํ
๋ค์ด ์์ง์ถ ๋ฐฉํฅ์ผ๋ก ๋๊น์ง ์ญ์ฑ ๋์ด๋๋ค*/
.opt2{align-items: flex-start;} /*์์ดํ
๋ค์ ์์์ ์ผ๋ก ์ ๋ ฌ*/
.opt3{align-items: flex-end;} /*์์ดํ
๋ค์ ๋์ผ๋ก ์ ๋ ฌ*/
.opt4{align-items: center;} /*์์ดํ
๋ค์ ๊ฐ์ด๋ฐ๋ก ์ ๋ ฌ*/
.opt5{align-items: baseline;} /*์์ดํ
๋ค์ ๋ฌธ์ ๊ธฐ์ค์ ์ ์ ๋ ฌ*/
: ๊ต์ฐจ์ถ์ ์ ๋ ฌ๋ฐฉ๋ฒ์ผ๋ก "flex-wrap: wrap;"์์ฑ์ ํตํด items๊ฐ ์ฌ๋ฌ์ค(2์ค ์ด์)์ด๊ณ ์ฌ๋ฐฑ์ด ์์ ๊ฒฝ์ฐ๋ง ์ฌ์ฉํ ์ ์๋ค
align-content ์ข
๋ฅ 7๊ฐ
.opt1{align-content: stretch;} /*(๊ธฐ๋ณธ๊ฐ)์์ดํ
๋ค์ด ์์ง์ถ ๋ฐฉํฅ์ผ๋ก ๋๊น์ง ์ญ์ฑ ๋์ด๋๋ค*/
.opt2{align-content: flex-start;} /*์์ดํ
๋ค์ ์์์ ์ผ๋ก ์ ๋ ฌ*/
.opt3{align-content: flex-end;} /*์์ดํ
๋ค์ ๋์ผ๋ก ์ ๋ ฌ*/
.opt4{align-content: center;} /* ์์ดํ
๋ค์ ๊ฐ์ด๋ฐ๋ก ์ ๋ ฌ*/
.opt5{align-content: space-between;} /*์์item์ ์์์ ์, ๋ง์ง๋ง item์ ๋์ ์ ์ ๋ ฌ๋๊ณ ๋๋จธ์ง items๋ ์ฌ์ด์ ๊ณ ๋ฅด๊ฒ ์ ๋ ฌ*/
.opt6{align-content: space-around;} /*item์ ๊ท ๋ฑํ ์ฌ๋ฐฑ์ ํฌํจํ์ฌ ์ ๋ ฌ*/
.opt7{align-content: space-evenly;} /*์์ดํ
์ ํ
์คํธ ๋ฒ ์ด์ค๋ผ์ธ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ*/
: align-items๊ฐ ์ ์ฒด item์ ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ์ด๋ผ๋ฉด, align-self๋ ํด๋น ์์ดํ ์ ์์ง์ถ ๋ฐฉํฅ ์ ๋ ฌ์ด๋ค.
align-self๋ align-item๋ณด๋ค ์ฐ์ ๊ถ์ด ์์ (์ ์ฒด ์ค์ ๋ณด๋ค ๊ฐ์ธ์ค์ ์ด ์ฐ์ ํ๊ธฐ ๋๋ฌธ)
align-self ์ข ๋ฅ 6๊ฐ
.box1{align-self: auto;} /*๊ธฐ๋ณธ๊ฐ*/
.box2{align-self: strech;} /*container์ ๊ต์ฐจ์ถ์ ์ฑ์ฐ๊ธฐ ์ํด item์ ๋๋ฆผ*/
.box3{align-self: flex-start;} /*item์ ๊ฐ ์ค์ ์์์ ์ผ๋ก ์ ๋ ฌ*/
.box4{align-self: flex-end;} /*item์ ๊ฐ ์ค์ ๋์ ์ผ๋ก ์ ๋ ฌ*/
.box5{align-self: center;} /*item์ ๊ฐ์ด๋ฐ ์ ๋ ฌ*/
.box6{align-self: baseline;} /*item์ ๋ฌธ์ ๊ธฐ์ค์ ์ ์ ๋ ฌ*/
: flex item์ด container๋ณด๋ค ์๊ฑฐ๋ ํด ๊ฒฝ์ฐ ์ฌ๋ฐฑ์ด ์๊ธฐ๊ฑฐ๋ ๋์น๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค
๐ 9๋ฒ ์์ฑ๋ค์ ์ฌ์ฉํ๋ฉด item์ ํฌ๊ธฐ๋ฅผ ๋์ด๊ฑฐ๋ ์ค์ผ ์ ์๊ณ ๊ฐ๋ณ์ ์ธ ๋ฐ์ค๋ฅผ ์๋ํ๊ฒ ํ ์ ์๋ค
" ๋ชจ๋ ์์์ ๋ค ๋ฃ์ด์ค์ผ ํจ! "
์ถ์ฝํ
flex: flex-grow flex-shrink flex-basis
(์ฆ๊ฐ๋๋น | ๊ฐ์๋๋น | ๊ธฐ๋ณธ๋๋น)
flex: 0 1 auto ๐ ๊ธฐ๋ณธ๊ฐ (๋ฐฐ์จ)
: ๊ตญ๋น์ง์ ์์