Mobile-first Flexbox ์ค๊ณ๋ฅผ ํตํ ๋ชจ๋ฐ์ผ ์ดํ๋ฅ 42%์์ 12%๋ก ๊ฐ์
๐ css flexbox responsive design tutorial โ avoid these common layout mistakes
AI ์์ฝ
Context
๊ณ ์ ํด์๋ ์ค์ฌ์ ๋ ์ด์์ ์ค๊ณ๋ก ์ธํ ์ ์ฌ์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์์ UI ๋ถ๊ดด ํ์ ๋ฐ์. ๋ค์ํ ๋๋ฐ์ด์ค ํ๊ฒฝ์ ๊ณ ๋ คํ์ง ์์ ๋จ์ ์ค์ผ์ผ๋ง ๋ฐฉ์์ ํ๊ณ๋ก ์ธํ ์ฌ์ฉ์ ๊ฒฝํ ์ ํ ๋ฐ ๋์ ์ดํ๋ฅ ๊ธฐ๋ก.
Technical Solution
- Mobile-first ์ ๋ต ๊ธฐ๋ฐ์ CSS ์ค๊ณ๋ก ์์ ํ๋ฉด ์ฐ์ ๊ตฌํ ํ ๋ํ๋ฉด์ผ๋ก ํ์ฅํ๋ ์ ์ง์ ํฅ์ ๊ตฌ์กฐ ์ฑํ
- flex-direction ์์ฑ์ ํตํ ๋๋ฐ์ด์ค ๋๋น๋ณ ๋ ์ด์์ ๋ฐฉํฅ ์ ํ(Column to Row) ๊ตฌํ
- flex: 1 1 [min-width] ์ค์ ์ ํตํด ์ฝํ ์ธ ๊ฐ์ฉ ๊ณต๊ฐ์ ๋ฐ๋ฅธ ๋์ ํ์ฅ ๋ฐ ์ต์ ๋๋น ๋ณด์ฅ ๋ก์ง ์ ์ฉ
- Media Queries๋ฅผ ํ์ฉํ Breakpoint ์ค์ ์ผ๋ก ๋๋ฐ์ด์ค ํด์๋๋ณ ์ต์ ํ๋ ์ ๋ ฌ ๋ฐฉ์(justify-content) ์ ์ด
- flex-wrap๊ณผ gap ์์ฑ์ ์กฐํฉํ์ฌ ๊ณ ์ ํผ์ผํธ ๋ฐฉ์์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ ์ฝํ ์ธ ์ธ์ํ ๋์ ๊ทธ๋ฆฌ๋ ์ค๊ณ
- Chrome DevTools ๊ธฐ๋ฐ ๊ฒ์ฆ์ ๋์ด ์ค์ ๋ฌผ๋ฆฌ ๊ธฐ๊ธฐ ํ ์คํธ๋ฅผ ํตํ ๋ ๋๋ง ๋ฐ ํฐ์น ๋์ ๋ถ์ผ์น ํด๊ฒฐ
์ค์ฒ ํฌ์ธํธ
- Mobile-first ์ ๊ทผ๋ฒ์ผ๋ก CSS ์์ฑ ํ @media (min-width)๋ฅผ ํตํ ํ์ฅ ์ค๊ณ ๊ฒํ - flex-basis ๊ธฐ๋ฐ์ ์ต์ ๋๋น ์ค์ ์ ํตํด ์ ์ฌ์ ๊ธฐ๊ธฐ ๋ด ์ฝํ ์ธ ๊ฒน์นจ ํ์ ๋ฐฉ์ง - DevTools ์๋ฎฌ๋ ์ดํฐ์ ์ค์ ๋ฌผ๋ฆฌ ๊ธฐ๊ธฐ ๊ฐ์ ๋ ๋๋ง ์ฐจ์ด ๊ฒ์ฆ ๋จ๊ณ ํฌํจ - ๋จ์ ํผ์ผํธ(%) ๋๋น๋ณด๋ค๋ flex-grow/shrink ์์ฑ์ ํตํ ๋์ ๋ ์ด์์ ๊ตฌ์ฑ ์ ์ฉ