Viewport๋ž€?

  • ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์˜ ์˜์—ญ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ง๋กœ, ์›น ๋ธŒ๋ผ์šฐ์ € ์šฉ์–ด์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ UI, ๋ฉ”๋‰ด ํ‘œ์‹œ์ค„ ๋“ฑ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฐฝ๊ณผ ๋™์ผํ•˜๋‹ค. ๋ณด๊ณ  ์žˆ๋Š” ๋ฌธ์„œ์˜ ์ผ๋ถ€์ด๋ฉฐ, ์›น ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํƒœ๋ธ”๋ฆฟ์ด๋‚˜ ์Šค๋งˆํŠธํฐ์ด ์žˆ๊ธฐ ์ „์—๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ์ปดํ“จํ„ฐ ํ™”๋ฉด๋งŒ์„ ์œ„ํ•ด ์„ค๊ณ„๊ฐ€ ๋˜์—ˆ์—ˆ๋Š”๋ฐ, ํ˜„์žฌ ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ๋“ค์„ ์‚ฌ์šฉ์ž๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์— ์ปดํ“จํ„ฐ ํ™”๋ฉด์—๋งŒ ๋งž์ถ”์–ด์„œ ์„ค๊ณ„๋˜์—ˆ๋˜ UI/UX๊ฐ€ ๋‹ค์–‘ํ•œ ๊ธฐ๊ธฐ์— ๋งž๊ฒŒ ์„ค๊ณ„๋ฅผ ์ •์ ์ธ ์„ค๊ณ„, ๊ณ ์ •๋œ ํฌ๊ธฐ์—์„œ โ†’ ๋‹ค์–‘ํ•œ ์Šคํฌ๋ฆฐ ํฌ๊ธฐ์— ๋งž๊ฒŒ ์ถ•์†Œ/ํ™•๋Œ€๊ฐ€ ๊ฐ€๋Šฅํ•œ ์„ค๊ณ„ ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

Viewport ์„ค์ •

  • ๋ทฐํฌํŠธ ์š”์†Œ๋ฅผ ๋ชจ๋“  ๋ฐ˜์‘ํ˜• ์›น ํŽ˜์ด์ง€์— ํฌํ•จํ•ด์•ผ ํ•œ๋‹ค.
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
  • <meta />ย ๋ทฐํฌํŠธ ์š”์†Œ๋Š” ํŽ˜์ด์ง€์˜ ํฌ๊ธฐ ๋ฐ ๋ฐฐ์œจ์„ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์„ ๋ธŒ๋ผ์šฐ์ €์— ์ œ๊ณตํ•œ๋‹ค.
  • width=device-width์€ ํŽ˜์ด์ง€์˜ ๋„ˆ๋น„๋ฅผ ์„ค์ •ํ•˜์—ฌ ๊ธฐ๊ธฐ์˜ ํ™”๋ฉด ๋„ˆ๋น„๋ฅผ ๋”ฐ๋ฅด๋„๋ก ํ•œ๋‹ค.(๊ธฐ๊ธฐ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)
  • initial-scale=1.0์€ ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ํŽ˜์ด์ง€๊ฐ€ ์ฒ˜์Œ ๋กœ๋“œ๋  ๋•Œ ์ดˆ๊ธฐ ํ™•๋Œ€/์ถ•์†Œ ๋ ˆ๋ฒจ์„ ์„ค์ •ํ•œ๋‹ค.

์ฝ˜ํ…์ธ  ํฌ๊ธฐ ์กฐ์ •

  • ์‚ฌ์šฉ์ž๋“ค์€ ๋ณดํ†ต ๋ฐ์Šคํฌํ†ฑ๊ณผ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์ˆ˜ํ‰์œผ๋กœ ์Šคํฌ๋กคํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ „์ฒด ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ์ˆ˜ํ‰์œผ๋กœ ์Šคํฌ๋กคํ•˜๊ฑฐ๋‚˜ ์ถ•์†Œํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์ด ์ข‹์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.
  • ๋”ฐ๋ผ์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ๊ทœ์น™
    • ์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ๋ฏธ๋””์–ด ์ฝ˜ํ…์ธ ๊ฐ€ ๋ทฐํฌํŠธ๋ณด๋‹ค ๋„“์€ ํญ์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ, ์ด ์ฝ˜ํ…์ธ ๋ฅผ ๋ทฐํฌํŠธ์˜ ํญ์— ๋งž๊ฒŒ ์กฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.
    • ์Šคํฌ๋ฆฐ ํฌ๊ธฐ์™€ CSS ํ”ฝ์…€์˜ ๋„ˆ๋น„๋Š” ๊ธฐ๊ธฐ๋งˆ๋‹ค ๋งค์šฐ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ฝ˜ํ…์ธ ๋Š” ํŠน์ • ๋ทฐํฌํŠธ ํญ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.
    • ํŽ˜์ด์ง€ ์š”์†Œ์— ๋Œ€ํ•ด ํฐ ์ ˆ๋Œ€ CSS ํญ์„ ์„ค์ •ํ•˜๋ฉด ์š”์†Œ๊ฐ€ ๋” ์ž‘์€ ์žฅ์น˜์˜ ๋ทฐํฌํŠธ์— ๋น„ํ•ด ๋„ˆ๋ฌด ๋„“์–ด์ง„๋‹ค. ๋Œ€์‹ ย width: 100%์™€ ๊ฐ™์€ ์ƒ๋Œ€์  ๋„ˆ๋น„ ๊ฐ’์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, ๋˜ํ•œ ์ ˆ๋Œ€์ ์ธ ์œ„์น˜ ์ง€์ • ๊ฐ’์„ ๋„ˆ๋ฌด ํฌ๊ฒŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ด์œ ๋Š” ํ™”๋ฉด์ด ์ž‘์€ ๊ธฐ๊ธฐ์—์„œ UI ์š”์†Œ๋ฅผ ๋ทฐํฌํŠธ ๋ฐ–์œผ๋กœ ๋ฐ€์–ด๋‚ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ฐธ๊ณ ๋งํฌ

MDN - Viewport concepts

์—๋ธŒ๋ฆฌ ์ €์žฅ์†Œ