๐ค Flex Box
์ฐ๋ฆฌ๊ฐ flexbox๋ฅผ ์ฌ์ฉํ ๋ 4๊ฐ์ง ์ฌ๊ณ ๋ฅผ ๊ฐ์ง๊ณ ์ฌ์ฉํ๋ฉด ๋๋ค.
1. ํ๋ ์ค ์ฌ์ฉ (์ ์ธ)
2. ๊ฐ๋ก ์ ๋ ฌ or ์ธ๋ก ์ ๋ ฌ
3. ๋ฌด์กฐ๊ฑด ํ ์ค ์์ ๋ค ์ ๋ ฌ? or ์ฌ๋ฌ ์ค ์ ๋ ฌ?
-----(์ค๋น๊ณผ์ )-----
4. flexbox ์ฌ์ฉํ๋ฉด ๋๋ค.
๐Flexbox ์ฌ์ฉ ์ค๋น ๊ณผ์
1๏ธโฃ ์ ์ธ
.flexbox{
display: flex;
/* flex | inline-flex */
}
โ flex๋ box์ type ์ค ํ๋์ด๋ค.
flex๋ block๊ณผ ๋น์ทํ์ง๋ง ์์๋ฅผ ์ฝ๊ฒ ์ ๋ ฌํ ์ ์๋ค.
inlin-flex๋ inline-block๊ณผ ๋น์ทํ์ง๋ง ์์๋ฅผ ๋ ์ฝ๊ฒ ์ ๋ ฌํ ์ ์๋ค.
โจFlex๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ ๋๋์ ๋ ฌ์ ํ๊ณ ์ ํ๋ ์์๋ฅผ ๊ฐ์ธ๋ ๋ถ๋ชจํํ ์ ์ฉ์ ํ๋ฉด ๋๋ค.
2๏ธโฃ ๊ฐ๋ก ์ ๋ ฌ or ์ธ๋ก ์ ๋ ฌ
.flexbox{
display: flex;
flex-direction: row;
/* row | row-reverse | column | column-revers */
}
๊ฐ๋ก ๋ฐฉํฅ ์ ๋ ฌ: row, row-reverse
์ธ๋ก ๋ฐฉํฅ ์ ๋ ฌ: column, column-reverse
์ฃผ์โโ
flex๋ฅผ ์ฌ์ฉํ์ ๋ ์ฐ๋ฆฌ๋ ๋ณด์ด์ง ์๋ Axis(์ถ)๊ฐ 2๊ฐ๊ฐ (Main axis, Cross axis) ์๊ธด๋ค.
flex-direction๊ฐ์ด ๋ฌด์์ด๋์ ๋ฐ๋ผ Axis๊ฐ ์๊ธฐ๋ ํํ๊ฐ ๋ฌ๋ผ์ง๋ค.
Main axis๋ ์ฐ๋ฆฌ๊ฐ ์ค์ ํ ๋ฐฉํฅ๊ณผ ๋์ผํ๊ฒ ์ค์ ์ด ๋๊ณ
Cross axis๋ ์ฐ๋ฆฌ๊ฐ ์ค์ ํ ๋ฐฉํฅ์ ์์ง์ผ๋ก ์ค์ ๋๋ค.
3๏ธโฃ ํ ์ค ์ ๋ ฌ or ์ฌ๋ฌ ์ค ์ ๋ ฌ
.flexbox {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
/* nowrap | wrap */
}
ํ ์ค์ ๋ค ์ ๋ ฌํ ๊ฒ์ธ์ง, ์ฌ๋ฌ ์ค์ ๊ฑธ์ณ ์ ๋ ฌํ ์ง ์ ํ๊ธฐ ์ํด์ ๊ฐ์ธ๊ธฐ(wrap)์ ์ฌ์ฉํ๋ฉด ๋๋ค.
nowrap์ "๊ฐ์ธ์ง(wrap) ์๊ณ ์์์ ์ฌ์ด์ฆ๋ฅผ ์ค์ฌ์ ํ ์ค๋ก ์ ๋ ฌํ๋ค."์ด๋ฉฐ
์์์ ๊ธฐ๋ณธ ๊ฐ์ nowrap์ผ๋ก ์ค์ ๋์ด์๋ค.
wrap์ "๊ฐ์ธ๊ฒ ๋ค(wrap), ํ ์ค์ ์ ๋ ฌํ๊ธฐ ๊ณต๊ฐ์ด ๋๋ํ์ง ์์ ์ ์ฌ๋ฌ ์ค์ ๋ง๋ค์ด ๋ฒ๋ฆฐ๋ค." ๋ป์ด๋ค.
๐์ฌ๊ธฐ๊น์ง๋ flex๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํ ์ค๋น ๊ณผ์ ์ด๋ค.
4๏ธโฃ Flex ์ฌ์ฉ
Main axis์ Cross axis๋ฅผ ์ ์ํ๋ฉฐ ์ฌ์ฉํด์ผ ํ๋ค!
โ Main axis use โ
โjustify-content
(Flex์์๋ค์ ์ค์ฌ์ถ(main axis) ์ ๋ ฌ)
โ Coss axis use โ
โ align-items
(Flex์์๋ค์ ๋ฐ๋ ์ถ(cross axis) ์ ๋ ฌ)
โalign-content
(์ธ๋ก์ ์์ ์ฌ๋ถ์ ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ flex ์ปจํ ์ด๋ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์กฐ์ )
๐ขwrap์ผ๋ก ๋ ๊ฐ์ ๊ณต๊ฐ์ผ๋ก ๋ถ๋ฆฌ๋์์ ๋
์ ์ฒด ๊ณต๊ฐ์ ์ฎ๊ธฐ๊ณ ์ ํ ๋๋ align-content๋ฅผ ์ฌ์ฉํ๊ณ
๊ฐ๊ฐ ๋ถ๋ฆฌ๋ ๊ณต๊ฐ์ ์ฎ๊ธฐ๊ณ ์ ํ ๋๋ align-items๋ฅผ ์ฌ์ฉํ๋ฉด๋๋ค.
(์ด๋ถ๋ถ์ด ํท๊ฐ๋ฆฐ๋ค๋ฉด items๋ฅผ ๋จผ์ ์ฌ์ฉํด๋ณด๊ณ content๋ ์ฌ์ฉํด๋ณด๋ฉด ์ ์ ์๋ค!)
.flexbox{
justify-content: center;
/* flex-start | flex-end | center | space-beteween | space-around*/
align-items: flex-end;
/* flex-start | flex-end | center */
align-content: flex-end;
/* flex-start | flex-end | center | space-beteween | space-around*/
}
/*ํด๋น key๊ฐ์ ์ฌ์ฉํ ์ ์๋ค,*/
โ ์ถ๊ฐ๋ก ์ค์ํ ๊ฒ โ
โorder
(flex box์ ์์ ๋ณ๊ฒฝ)
โflex-flow
(flex-direction+flex-wrap) ๋ฐฉํฅ ๊ฐ์ธ๊ธฐ ํ ๋ฒ์ ์ค์
'Front-end > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS3] Typography (0) | 2022.03.28 |
---|---|
[CSS3]Media Query(๋ฐ์ํ ์น) (0) | 2022.03.27 |
[CSS3]Position (0) | 2022.03.20 |
[CSS3]Float๋? / Layout ์ค๋ฅ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2022.03.14 |
[CSS3]BOX (Block,Inline,Inline Block) (0) | 2022.03.13 |