์์ด์ดํ๋ ์(Wireframe)
: ๋ ์ด์์์ ๋ผ๋๋ฅผ ๊ทธ๋ฆฌ๋ ๋จ๊ณ๋ฅผ ๋งํ๋ค.
์์ด์ดํ๋ ์์ ๋ง ๊ทธ๋๋ก "์์ด์ด๋ก ์ค๊ณ๋ ๋ชจ์"์ ์๋ฏธํ๋ฉฐ, ๋จ์ํ ์ ์ด๋, ๋ํ์ผ๋ก ์น์ด๋ ์ฑ์ ์ธํฐํ์ด์ค๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ฌ์ฌํ ๊ฒ์ด๋ค. ์์ด์ดํ๋ ์์ ๋จ์ํ๊ฒ, ๋ ์ด์์๊ณผ ์ ํ์ ๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฉ๋์ด๋ค. ์ ํ ํจ๊ณผ๋, ์ ๋๋ฉ์ด์ , ์ฌ์ฉ์ ํ ์คํธ ๊ฐ์ ์คํ์ผ๋ง ์์๋ UX(์ฌ์ฉ์ ๊ฒฝํ, User Experience)๋ฅผ ํ๋จํ๋ ๊ฒ์ด ์๋๋ค.
๋ชฉ์ (Mock-up)
์น ๋๋ ์ฑ์ ์ ํ์ด๋ผ๊ณ ํ ๋, ๋ชฉ์ ์ ์ค์ ์ ํ์ด ์๋ํ๋ ๋ชจ์ต๊ณผ ๋์ผํ๊ฒ HTML ๋ฌธ์๋ฅผ ์์ฑํ๋ค.
Flexbox๋ก ๋ ์ด์์ ์ก๊ธฐ
Flexbox๋ก ๋ ์ด์์์ ๊ตฌ์ฑํ๋ค๋ ๊ฒ์, ๋ฐ์ค๋ฅผ ์ ์ฐํ๊ฒ ๋๋ฆฌ๊ฑฐ๋ ์ค์ฌ ๋ ์ด์์์ ์ก๋ ๋ฐฉ๋ฒ์ด๋ค.
display: flex ๋ถ์ํ๊ธฐ
display: flex ๋ ๋ถ๋ชจ ๋ฐ์ค ์์์ ์ ์ฉํด, ์์ ๋ฐ์ค์ ๋ฐฉํฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ๋ ์ด์์ ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ด๋ค.
๋ถ๋ชจ ์์์ ์ ์ฉํด์ผํ๋ Flexbox ์์ฑ๋ค
Flexbox ์์ฑ์ค์์๋ ๋ถ๋ชจ ์์์ ์ ์ฉํด์ผํ๋ ์์ฑ๋ค, ์์ ์์์ ์ ์ฉํด์ผํ๋ ์์ฑ๋ค์ด ์๋ค.
1. flex-direction : ์ ๋ ฌ ์ถ ์ ํ๊ธฐ
2. flex-wrap : ์ค ๋ฐ๊ฟ ์ค์ ํ๊ธฐ
- flex-wrap ์์ฑ์ ํ์ ์์๋ค์ ํฌ๊ธฐ๊ฐ ์์ ์์์ ํฌ๊ธฐ๋ฅผ ๋์ผ๋ฉด ์๋ ์ค ๋ฐ๊ฟ์ ํ ๊ฒ์ธ์ง ์ ํฉ๋๋ค. ์ค์ ํด ์ฃผ์ง ์์ผ๋ฉด ์ค ๋ฐ๊ฟ์ ํ์ง ์์ต๋๋ค.

3. justify-content : ์ถ ์ํ ๋ฐฉํฅ ์ ๋ ฌ
4.align-items : ์ถ ์์ง ๋ฐฉํฅ ์ ๋ ฌ
์ฃผ์ ์์ฑ๊ฐ์ผ๋ก๋ stretch , flex-start , flex-end , center , baseline์ด ์๋ค.
์์ ์์์ ์ ์ฉํด์ผ ํ๋ Flexbox ์์ฑ
flex ์์ฑ์ ๊ฐ
flex ์์ฑ์๋ ์ธ ๊ฐ์ง ๊ฐ์ ์ง์ ํด์ค ์ ์๋ค.
flex: <grow(ํฝ์ฐฝ ์ง์)> <shrink(์์ถ ์ง์)> <basis(๊ธฐ๋ณธ ํฌ๊ธฐ)>
- grow(ํฝ์ฐฝ ์ง์) : ์์์ ํฌ๊ธฐ๊ฐ ๋์ด๋์ผ ํ ๋ ์ผ๋ง๋ ๋์ด๋ ๊ฒ์ธ์ง
- shrink(์์ถ ์ง์) : ์์์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค์ด์ผ ํ ๋ ์ผ๋ง๋ ์ค์ด๋ค ๊ฒ์ธ์ง
- basis(๊ธฐ๋ณธ ํฌ๊ธฐ) : ๋์ด๋๊ณ ์ค์ด๋๋ ๊ฒ๊ณผ ์๊ด์์ด ์์์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ ์ผ๋ง์ธ์ง
์์ ์์์ flex ์์ฑ์ ๋ฐ๋ก ์ค์ ํด์ฃผ์ง ์์ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ด ์ ์ฉ๋๋ค.
flex: 0 1 auto;
์์ ์ฝ๋๋ฅผ ๋ฐ๋ก ์ง์ ํด์ค๋ ์๊ด์๋ค.
1. grow : ์์ ๋ฐ์ค๋ ์ผ๋ง๋ ๋์ด๋ ์ ์์๊น?
grow(ํฝ์ฐฝ ์ง์) ๋ ์ ๋ ฌ์ถ ๋ฐฉํฅ์ผ๋ก ๋น ๊ณต๊ฐ์ด ์์ ๋, ๊ฐ ์์ ์์๋ค์ด ์ผ๋ง๋ ๋์ด๋์ ๋จ๋ ๊ณต๊ฐ์ ์ฐจ์งํ ๊ฒ์ธ์ง ๋น์จ์ ์ ํ๋ ๊ฒ์ด๋ค.
2. shrink : ์์ ๋ฐ์ค๋ ์ผ๋ง๋ ์ค์ด๋ค ์ ์์๊น?
shrink(์์ถ ์ง์)๋ grow์ ๋ฐ๋๋ก, ์ค์ ํ ๋น์จ๋งํผ ๋ฐ์ค ํฌ๊ธฐ๊ฐ ์์์ง๋ค. ๋น์จ์ด ํด์๋ก ๋ ๋ง์ด ์ค์ด๋ ๋ค.
3. basis : ์ด ๋ฐ์ค์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ ์ผ๋ง์ผ๊น์?
flex-basis๋ Flex ์์ดํ ์ ๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ค(flex-direction์ด row์ผ ๋๋ ๋๋น, column์ผ ๋๋ ๋์ด).
flex-basis์ ๊ฐ์ผ๋ก๋ ์ฐ๋ฆฌ๊ฐ width, height ๋ฑ์ ์ฌ์ฉํ๋ ๊ฐ์ข ๋จ์์ ์๊ฐ ๋ค์ด๊ฐ ์ ์๊ณ , ๊ธฐ๋ณธ๊ฐ auto๋ ํด๋น ์์ดํ ์ width๊ฐ์ ์ฌ์ฉํ๋ค. width๋ฅผ ๋ฐ๋ก ์ค์ ํ์ง ์์๋ค๋ฉด ์ปจํ ์ธ ์ ํฌ๊ธฐ๊ฐ ๋จ.
auto๊ฐ์ ์ฃผ๊ฒ๋๋ฉด ์๋์ผ๋ก ์ฝํ ์ธ ๋ด์ฉ์ ๋ง์ถฐ ๋ณํ๊ณ ์์๋ฐ์ค๋ชจ๋ basis์ 0์ ์ฃผ๋ฉด ์ฝ์ฒธ์ธ ๊ธธ์ด์ ์ํฉ์์ด ๋ถ๋ชจ ์ปจํ ์ด๋ ํฌ๊ธฐ ์์์ ๋์ผํ ๋๋น๋ฅผ ๋๋ ๊ฐ๋๋ค.
flex-grow ๊ฐ 0์ผ ๋, basis ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ฉด ๊ทธ ํฌ๊ธฐ๋ ์ ์ง๋๋ค.
ex)
.item {
flex-basis: 100px;
}

์๋ 100px์ด ์๋๋ AAA ์CCC๋ ๋์ด๋ฌ๊ณ 100px์ด ๋๋ BBB๋ ๊ทธ๋๋ก ์ ์ง๋๋ค.
.item {
width: 100px;
}
๋ฐ๋ฉด์, width๋ฅผ ์ค์ ํ๋ฉด, ์๋ 100px์ด ๋๋ BBB๋ 100px๋ก ๋ง์ถฐ์ง๋ค.
'๐ FrontEnd -Study > HTML, CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS] em / rem (0) | 2023.02.18 |
---|---|
TIL - [CSS ๊ธฐ์ด] (0) | 2023.02.15 |
[HTML ๊ธฐ์ด] (0) | 2023.02.14 |
css/ initial vs inherit vs unset (0) | 2022.12.10 |
css/list sytle type (0) | 2022.12.10 |
๋๊ธ