๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ปWEB FrontEnd/๋ฐ˜์‘ํ˜• ์›น

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์™€ ๋ทฐํฌํŠธ

1. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ(Media Queies)

๋ฐ˜์‘ํ˜• ์›น์—์„œ๋Š” ํ•„์ˆ˜์ธ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋Š”, ํ™”๋ฉดํฌ๊ธฐ,ํ™”๋ฉด ํ•ด์ƒ๋„, ๊ธฐ๊ธฐ ๋ฐฉํ–ฅ ๋“ฑ์˜ ์กฐ๊ฑด์œผ๋กœ CSS๋ฅผ ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

1) ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

@media [only|not ๋ฏธ๋””์–ด ์œ ํ˜•] [and|,] (์กฐ๊ฑด๋ฌธ){
์‹คํ–‰๋ฌธ
}
  • @media : ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ฌธ๋ฒ•์˜ ์‹œ์ž‘์„ ์•Œ๋ฆฌ๋Š” ๋ถ€๋ถ„
  • ๋ฏธ๋””์–ด ์œ ํ˜•
๋ฏธ๋””์–ด ์œ ํ˜• ์„ค๋ช…
all  ๋ชจ๋“  ๋ฏธ๋””์–ด ์œ ํ˜•
screen ์ปดํ“จํ„ฐ ์Šคํฌ๋ฆฐ
tv ํ…”๋ ˆ๋น„์ „
handheld ํŒจ๋“œ ์žฅ์น˜
braille ์ ์ž ํ‘œ์‹œ ์žฅ์น˜
  • ์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด๋ฌธ ์„ค๋ช… ์กฐ๊ฑด๊ฐ’ min/max ์‚ฌ์šฉ ์—ฌ๋ทฐ
width/height ์›น ํŽ˜์ด์ง€์˜ ๋„“์ด/๋†’์ด ๊ฐ’ width์†์„ฑ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์†์„ฑ๊ฐ’ O
device-width/device-height ๊ธฐ๊ธฐ์˜ ๋„“์ด/๋†’์ด ๊ฐ’
orientation ๊ธฐ๊ธฐ์˜ ํ™”๋ฉด ๋ฐฉํ–ฅ ์„ธ๋กœ : portrait 
๊ฐ€๋กœ : landscapoe
X
aspect-radio ํ™”๋ฉด ๋น„์œจ ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด ๋น„์œจ(1)
๋ธŒ๋ผ์šฐ์ € ์ข…ํšก๋น„(16/9)
๋ธŒ๋ผ์šฐ์ € ํ•ด์ƒ๋„(1280/720)
O
device-aspect-radio ๊ธฐ๊ธฐ์˜ ํ™”๋ฉด ๋น„์œจ ๊ธฐ๊ธฐ ํ™”๋ฉด ๋น„์œจ(1)
๊ธฐ๊ธฐ ์ข…ํšก๋น„(16/9)
๊ธฐ๊ธฐ ํ•ด์ƒ๋„(640/320)
color ๊ธฐ๊ธฐ์˜ ๋น„ํŠธ ์ˆ˜ 8(bit)
color-index ๊ธฐ๊ธฐ์˜ ์ƒ‰์ƒ ์ˆ˜ 128(์ƒ‰์ƒ ์ˆ˜)

 

2) ์ ์šฉ ๋ฐฉ์‹

- ๋งํฌ ๋ฐฉ์‹

CSSํŒŒ์ผ ๋‚ด์— ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์„œ ๋งํฌ ํƒœ๊ทธ๋กœ CSSํŒŒ์ผ ์—ฐ๊ฒฐํ•œ๋‹ค.

<link rel="stylesheet" href="mediaqueries.css">

- ๋ฌธ์„œ ๋‚ด์— ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ์‹

์ด ๋ฐฉ์‹์€ ๋ฌธ์„œ์— CSS์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์„œ์˜ ์šฉ๋Ÿ‰์ด ์ปค์ง„๋‹ค. ๋˜๋„๋ก์ด๋ฉด ํ”ผํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค.

@media all and (min-width:480px) { ... }

- ์ž„ํฌํŠธ ๋ฐฉ์‹

CSSํŒŒ์ผ ๋‚ด์—์„œ CSSํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด ๋ฐฉ์‹์€ ์กฐ๊ฑด์ด ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ CSSํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•˜๋ฏ€๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

/* common.css */

@import "../media.css";
/* media file */
@media screen and (min-width:768px) { ... }

 

 

2. ๋ทฐํฌํŠธ(Viewport)

Viewport๋ž€ ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ web conetent ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์˜์—ญ์ด๋‹ค.

 

1) ๋ทฐํฌํŠธ ๋ฉ”ํƒ€ ํƒœ๊ทธ

HTML์˜ ํƒœ๊ทธ ์ค‘ metaํƒœ๊ทธ์— name๊ฐ’์— viewport๋ฅผ ์ฃผ๊ณ  content์˜ ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด ์›น๋ธŒ๋ผ์šฐ์ €๋Š” ์—ฌ๊ธฐ์— ์„ค์ •๋œ ๊ฐ’์— ๋”ฐ๋ผ์„œ ํ™”๋ฉด์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ ๋””๋ฐ”์ด์Šค์— ์ตœ์ ํ™”๋œ ํฌ๊ธฐ๋กœ ํ‘œํ˜„ํ•ด์ค˜์„œ ๋ณด๊ธฐ ์ข‹์€ ํ™”๋ฉด์„ ํ‘œ์‹œํ•ด์ค€๋‹ค.

<head>
    /*๋ทฐํฌํŠธ ๋ฉ”ํƒ€ ํƒœ๊ทธ*/
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
  • width/height : ๋ทฐํฌํŠธ์˜ ๋„“์ด/๋†’์ด ์„ค์ •
  • initial-scale : ์ดˆ๊ธฐ ๋ฐฐ์œจ ์„ค์ • >> 1์ด ๊ธฐ๋ณธ๊ฐ’, 1๋ณด๋‹ค ๋‚ฎ์œผ๋ฉด ์ถ•์†Œ , 1๋ณด๋‹ค ํฌ๋ฉด ํ™•๋Œ€๋œ ๊ฐ’์œผ๋กœ ์„ค์ •๋จ
  • minimum-scale : ์ตœ์†Œ ์ถ•์†Œ ๋น„์œจ ์„ค์ • >> 0.25 ๊ธฐ๋ณธ๊ฐ’
  • maximum-scale : ์ตœ๋Œ€ ํ™•๋Œ€ ๋น„์œจ ์„ค์ • >> 5.0 ๊ธฐ๋ณธ๊ฐ’
  • user-scalable : ํ™•๋Œ€/์ถ•์†Œ ์—ฌ๋ถ€ ์„ค์ • >> yes ๊ธฐ๋ณธ๊ฐ’, yes | no