์์ด์ดํ๋ ์
, ๋ ์ด์์ ๊ตฌ์กฐ
, flex box
๋ฑ์ ๋ํด ๋ฐฐ์ ๋ค.
์ค๋ ๋ถํฐ ํ์ด ํ๋์ผ๋ก ๋ค๋ฅธ ์๊ฐ์๋ถ๊ณผ 2์ธ 1์กฐ๊ฐ ๋์ด ๊ฐ์ด ๊ณต๋ถํ๊ณ ํด๊ฒฐํด ๊ฐ๋ค. ์ฒ์์ด๊ณ ๊ธด์ฅํ์ง๋ง ์๊ฐ์๋ถ๋ค๋ ๋ค๋ค ์ฒ์์ผ ๊ฑฐ๋ค. ์ฉ๊ธฐ๋ด์ ๋ค๊ฐ๊ธฐ๋ก ํ์.
์น ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ๋ ์ด์์์ ๋ผ๋๋ฅผ ๊ทธ๋ฆฌ๋ ๋จ๊ณ์ด๋ค.
์ค๋ฌผ ํฌ๊ธฐ์ ๋ชจํ์ ๋งํ๋ค. ๋์์ธ ์ ์ฉ ์์๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
โ๏ธ์์ด์ดํ๋ ์, ๋ชฉ์ ์์ ํ ์ฝ๋ฉ ์์ ์ ์งํํ๋๊ฒ ์ข๋ค.
์์ด์ดํ๋ ์ ์์ ํ๊ธฐ ์ข์ ์ฌ์ดํธ (ํผ๊ทธ๋ง)
๐ https://www.figma.com/files/recent?fuid=1143125805789644897**์ด๋๋น ํฌํ ์ต, XD๋ ์์ง๋ง ํ๋ก๊ทธ๋จ์ด ๋ฌด๊ฒ๊ธฐ๋ ํ๊ณ ๊ตฌ๋ ๋ฃ๊ฐ ์์ด ๋ฌด๋ฃ๋ก ์ฌ์ฉ๊ฐ๋ฅํ ํผ๊ทธ๋ง๊ฐ ์ข๋ค. ๋ํ ํ์ ํ ๋๋ ์์ฃผ ์ฌ์ฉํ๊ธฐ์ ์ด๋ ์ ๋ ๊ธฐ๋ฅ์ ์๊ณ ์๋๊ฒ ์ข์ ๊ฒ ๊ฐ๋ค.
HTML ๊ธฐ๋ณธ์ ์ธ ์คํ์ผ์ด ์๋ค. ์ด๋ก์ธํด ๋ ์ด์์์ ์ก๋๋ฐ ๋ฐฉํด๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ๊ฐ๋จํ ์คํ์ผ์ *
,html
,body
์ ์์ฑ์ ๋ฃ๋ ๋ฐฉ๋ฒ์ด ์๊ณ reset.css
, base.css
๋ฑ ์ ๊ณต๋๋ ํ์ผ์ ์ด์ฉํด๋ ์ข๋ค.
* { box-sizing: border-box; } /*boday๋ ๊ธฐ๋ณธ์ ์ผ๋ก margin ์์ฑ์ ๊ฐ์ง๊ณ ์์ด ๊ทธ๋ถ๋ถ์ ์ด๊ธฐํํ๋ค.*/ body { margin:0; padding:0; }
๋ ์ด์์์ ์ ๋ ฌํ๋๋ฐ flex
, grid
๊ฐ ์๋ค.
๋๊ฐ์ง์ ์ฐจ์ด์ ์ flex๋ 1์ฐจ์
์ด๊ณ grid๋ 2์ฐจ์
๋ฐฉ์์ผ๋ก grid
๊ฐ ์ข ๋ ๋ณต์กํ ๊ตฌ์กฐ๋ฅผ ์์
ํ ์ ์๋ค. ์ด๋ฒ ํ์ต์์๋ flex
๋ง ๋ฐฐ์ ๋ค.
๋ถ๋ชจ ์์์ ์ ์ฉํด, ์์ ๋ฐ์ค์ ๋ฐฉํฅ๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ค.
โ๏ธ๋ถ๋ชจ ์์, ์์ ์์์ ์ฌ์ฉํ๋ ์์ฑ์ด ๋ค๋ฅด๋ค.
flex-direction
, flex-wrap
, justify-content
, align-item
์ด ์๋ค.
ํ์ ์์๋ค์ ํฌ๊ธฐ๊ฐ ์์ ์์์ ํฌ๊ธฐ๋ฅผ ๋ฃ์ผ๋ฉด ์๋ ์ค ๋ฐ๊ฟ์ด ๋๋๋ก ์ค์ ํด ์ค๋ค.
์ฃผ์ ์์ฑ ๊ฐ
flex-start
,flex-end
,center
,space-between
,space-around
์์ ์์๋ค์ ์ถ์ ์์ง ๋ฐฉํฅ์ผ๋ก ์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ์ง
์ฃผ์ ์์ฑ ๊ฐ
stretch
,flex-start
,flex-end
,center
,baseline
์์์ ํฌ๊ธฐ๊ฐ ๋์ด๋์ผ ํ ๋ ์ผ๋ง๋ ๋์ด๋ ๊ฒ์ธ์ง ์ค์
โ๏ธcheck point
- ์์ ์์์์
flex
์์ฑ์ ์ค์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ด ์ ์ฉ๋๋ค.flex-grow
,flex-shrink
์์ฑ์ ํจ๊ผ ์ฌ์ฉํ๋๊ฑธ ์ถ์ฒํ์ง ์๋๋ค.- ๋น์จ๋ก ๋ ์ด์์์ ์ง์ ํ ๊ฒฝ์ฐ
flex-grow
์์ฑ์ ๋ณํ๋ฅผ ์ฃผ๋๊ฒ ์ข๋ค.
(์ค์ ํฌ๊ธฐ๋ฅผ ์์ธกํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์)flex-grow
์์ฑ ๊ฐ์ด 0์ธ ๊ฒฝ์ฐ์๋งflex-basis
์์ฑ ๊ฐ์ด ์ ์ง๋๋ค.
์ฝ๋ฉ ์์
์ ๋ค์ด๊ฐ๊ธฐ ์ ํผ๊ทธ๋ง๋ฅผ ์ด์ฉํด normal, hover ๋์์ธ ์์์ ์์
ํ๋ค.
๋งํฌ์
๊น์ง ์์
์ ํ์ง๋ง ๋ค๋ฅธ ๊ธฐ์ ์๊ฐ์ ๋ถ๋ค์ ๊ณผ์ ๋ฌผ์ ๋ณด๊ณ
์กฐ๊ธ ํํ๊ฐ ์๋ค.. ๋ด์ผ ๊น์ง ๋ณด์ํด์ผ ๊ฒ ๋ค.
flex box
์ ๋ํด ์๊ณ ๋ ์์์ง๋ง ๊น์ ์์ง ๋ชปํ๋ค. ์ด๋ฒ ํ์ต์ ํตํด
flex-glow
, flex-shrink
, flex-basis
์์ฑ์ ๋ํด ์์ธํ ์ ์ ์์๋ ์๊ฐ์ด์๋ค.
grid
๋ ์๋ค. ๋์ค์ flex
์ grid
์ ์ฐจ์ด์ ์ ์์๋ด์ผ๊ฒ ๋ค.
์ค๋์ ์ฒซ ํ์ด ํ๋์ด ์์๋๋ ๋ ์ด์๋ค.
์คํ๋ผ์ธ์ด ์๋ ์จ๋ผ์ธ์ผ๋ก ๊ฑฐ๋ฆฌ๊ฐ๋ ๋๊ปด์ก๊ณ ๋ญ๊ฐ ๊ธด์ฅ ๋์๋ค.
์ด๋ฒ ๊ณผ์ ๋ ๋ฐ๋ก ์์
ํ๋ค ๊ถ๊ธํ๊ฒ ์์ผ๋ฉด ๋ฌผ์ด๋ณด๋ ๋ฐฉ์์ด ์๋๋ฐ ์์
ํ๋๊ฑฐ์ ์ง์คํ๋ค ๋ณด๋ ๋๋๊ธฐ ์์
์๊ฐ ์ค 10~20๋ถ์ ์ ์ธํ ๋๋จธ์ง๋ ๋์ ๋ง๊ณค ๋งํ์ง ์์๋ค. ๋ค์๋ ์๋ ์ด๊ฒ์ ๊ฒ ์๊ธฐํ๋ฉด์ ์ ๋ณด๋ฅผ ๊ณต์ ํด์ผ๊ฒ ๋ค.
๊ณ์ฐ๊ธฐ ๋ชฉ์
์ ๋ง๋๋๋ฐ ์ด๋ฒ์๋ ์๊ธฐ์๊ฐ ํ์ด์ง๋ณด๋ค ์กฐ๊ธ ๋ ์ ํด๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ์ด๋ฒ ์์
์ ํตํด flex box
๋ฅผ ๋ด๊ฒ?์ผ๋ก ํก์ํ ์ ์์๋ค.
๋์์ธ ๋ฒค์น๋งํนํ๋๋ฐ ๊ฑฐ์ 1์๊ฐ์ด ๊ฑธ๋ ธ๋ค.
๊ทธ๋ ๊ฒ ์์ฑํ๊ณ ๋๋ฆ ์ํ๋ค ์๊ฐํ๋๋ฐ ์ด์ ๊ธฐ์ ์๊ฐ์๋ถ๋ค์ ๊ณผ์ ๋ฌผ์ ๋ณด๊ณ
์ด์ง ํํ๊ฐ ์๋ค. ์๋ฌด๋๋ ๋์์ธ ๊ด๋ จ ์
๋ฌด๋ฅผ ํด์ ๊ทธ๋ฐ์ง ํ์ ๋ฐํ ์๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๋ด์ผ๊น์ง ๋ง๋ฌด๋ฆฌ ์์
์ผ๋ก ๋ณด์ํ ์ ์๋ ๋ถ๋ถ์ ๋ณด์ํ๊ณ ํ์ด๋ถ๊ป ๋์์ด ๋๋ ๋ถ๋ถ์ ์ด์ฌํ ๋์์ค์ผ๊ฒ ๋ค.
๊ณต๋ถํ ๋ ์ฐธ๊ณ ํ๊ธฐ ์ข์ ์ฌ์ดํธ
๐ https://d2.naver.com/helloworld/8540176
๐ https://studiomeal.com/archives/533