Style Sheet/CSS

[CSS] ๐Ÿ“š ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ - ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ

์ธํŒŒ_ 2021. 10. 7. 13:44

๋ฏธ๋””์–ด์ฟผ๋ฆฌ-๋ฐ˜์‘ํ˜•

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ(Media Query) ๋ž€?

๋ฏธ๋””์–ด์ฟผ๋ฆฌ-๋ฐ˜์‘ํ˜•

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” CSS์—์„œ ์–ด๋–ค ์Šคํƒ€์ผ์„ ์„ ํƒ์ ์œผ๋กœ ์ ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

@media ํ‚ค์›Œ๋“œ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์˜ ๋ฌธ๋ฒ• ๊ตฌ์กฐ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

@media (์กฐ๊ฑด) {
  ์Šคํƒ€์ผ
}

์Šคํƒ€์ผ ๋ถ€๋ถ„์—๋Š” ์ผ๋ฐ˜์ ์ธ CSS ์ฝ”๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š”๋ฐ, ์กฐ๊ฑด ๋ถ€๋ถ„์ด ๋งŒ์กฑ๋  ๋•Œ๋Š” ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๊ณ , ๋งŒ์กฑ๋˜์ง€ ์•Š์„ ๋•Œ๋Š” ์Šคํƒ€์ผ์ด ๋ฌด์‹œ๋œ๋‹ค.


๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ css์— ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

โ€‹

1. HTML์˜ linkํƒœ๊ทธ์˜ media์†์„ฑ์— ๊ฐ’์„ ์„ค์ •ํ•ด ์ฃผ๋Š” ๋ฐฉ๋ฒ•

<link href="css/common.css" rel="stylesheet" type="text/css" 
   media="screen and (min-width:0px) and (max-width:480px)">

 

2. cssํŒŒ์ผ ๋‚ด์— ์ง์ ‘ media๋ฅผ ์„ค์ •ํ•ด ์ฃผ๋Š” ๋ฐฉ๋ฒ•

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

 

3. media query๋ฅผ ์„ค์ •ํ•œ ํŒŒ์ผ์„ cssํŒŒ์ผ ๋‚ด์—์„œ import ํ•ด์„œ ์ ์šฉ์‹œ์ผœ์ฃผ๋Š” ๋ฐฉ๋ฒ•

/* common.css */
@import "../media.css";

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ํƒ€์ž…

  • all : ๊ธฐ๋ณธ๊ฐ’. ๋ชจ๋“  ๋ฏธ๋””์–ด ์žฅ์น˜์— ์‚ฌ์šฉ ๋จ
  • print ํ”„๋ฆฐํ„ฐ์— ์‚ฌ์šฉ
  • screen ์ปดํ“จํ„ฐ ์Šคํฌ๋ฆฐ, ํ…Œ๋ธ”๋ฆฟ, ์Šค๋งˆํŠธํฐ ๋“ฑ
  • speech ํŽ˜์ด์ง€๋ฅผ ์ฝ์–ด์ฃผ๋Š” ํ™”๋ฉด ๋‚ญ๋…๊ธฐ
๊ธฐ๊ธฐ๋ช… ์„ค๋ช…
all ๋ชจ๋“  ์žฅ์น˜
print ์ธ์‡„ ์žฅ์น˜
screen ์ปดํ“จํ„ฐ ํ™”๋ฉด ์žฅ์น˜ ๋˜๋Š” ์Šค๋งˆํŠธ ๊ธฐ๊ธฐ์˜ ํ™”๋ฉด
tv ์˜์ƒ๊ณผ ์Œ์„ฑ์ด ๋™์‹œ์— ์ถœ๋ ฅ๋˜๋Š” ์žฅ์น˜
projection ํ”„๋กœ์ ํ„ฐ ์žฅ์น˜
handheld ์†์— ๋“ค๊ณ  ๋‹ค๋‹ˆ๋Š” ์†Œํ˜•์žฅ์น˜
speech ์Œ์„ฑ ์ถœ๋ ฅ ์žฅ์น˜
aural ์Œ์„ฑ ํ•ฉ์„ฑ ์žฅ์น˜(ํ™”๋ฉด์„ ์ฝ์–ด ์†Œ๋ฆฌ๋กœ ์ถœ๋ ฅํ•ด ์ฃผ๋Š” ์žฅ์น˜)
embossed ์ ์ž ์ธ์‡„ ์žฅ์น˜(ํ™”๋ฉด์„ ์ฝ์–ด ์ข…์ด์— ์ ์ง€๋ฅผ ์ฐ์–ด๋‚ด๋Š” ์žฅ์น˜)
tty ๋””์Šคํ”Œ๋ ˆ์ด ๊ธฐ๋Šฅ์ด ์ œํ•œ๋œ ์žฅ์น˜
braille ์ ์ž ํ‘œ์‹œ ์žฅ์น˜
/* ์ผ๋ฐ˜ ํ™”๋ฉด(screen)๊ณผ ์ธ์‡„์žฅ์น˜ ๋ณ„๋กœ ์„œ๋กœ ๋‹ค๋ฅธ style์„ ์ง€์ •ํ•˜๋Š” ์˜ˆ */
@media screen {
	* {
		color: red;
	}
}
@media print {
	* {
		color: blue;
	}
}

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์—ฐ์‚ฐ์ž

  • and ์—ฐ์‚ฐ์ž : ์—ฌ๋Ÿฌ ๋ฏธ๋””์–ด ํŠน์ง•๋“ค์„ ํ•˜๋‚˜๋กœ ๊ฒฐํ•ฉํ•จ .
  • , (or)์—ฐ์‚ฐ์ž : ์‰ผํ‘œ๋กœ ๋ถ„๋ฆฌ๋œ ๊ฐ ๋ชฉ๋ก์€ ๊ฐ๊ฐ ๊ฐœ๋ณ„ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์ž„.
  • not ์—ฐ์‚ฐ์ž : ์ „์ฒด ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ๋ถ€์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ ํ•จ.
  • only ์—ฐ์‚ฐ์ž : ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ฃผ์–ด์ง„ ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€

* only ํ‚ค์›Œ๋“œ๋Š” ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ์— ์•„๋ฌด๋Ÿฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ค๋ž˜๋œ ๋ธŒ๋ผ์šฐ์ €๋Š” screen and (color)๋ฅผ 'screen'์œผ๋กœ ๋ฒˆ์—ญ ํ•˜๊ฒŒ๋˜์–ด ๋‚จ์•„์žˆ๋Š” ์ฟผ๋ฆฌ๋ฅผ ๋ฌด์‹œํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌํ•˜์—ฌ ๋ชจ๋“  ์Šคํฌ๋ฆฐ์— ์Šคํƒ€์ผ์„ ์ ์šฉํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๋ฏธ๋””์–ด ํƒ€์ž… only๋ฅผ ์ง€์ •ํ•จ์œผ๋กœ์จ ๋ฌด์‹œํ•˜๊ฒŒ ๋œ๋‹ค.

@media only screen {} /*๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ธŒ๋ผ์šฐ์ €(IE8 ์ดํ•˜)์—์„œ๋Š” ํ•ด๋‹น ์Šคํƒ€์ผ์„ ๋ฌด์‹œ */

* not์ด๋‚˜ only๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋ฏธ๋””์–ด ํƒ€์ž…์„ ๊ทœ์ •ํ•ด์•ผ ํ•จ.

* ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ณ„ํ•˜์ง€ ์•Š๋Š”๋‹ค


๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์†์„ฑ

์กฐ๊ฑด๋ฌธ ์„ค๋ช…  ์กฐ๊ฑด๊ฐ’  min/max ์‚ฌ์šฉ ์—ฌ๋ถ€ 
width ์›นํŽ˜์ด์ง€์˜ ๊ฐ€๋กœ ๋„ˆ๋น„๊ฐ’ width์†์„ฑ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์†์„ฑ๊ฐ’ ์‚ฌ์šฉํ•จ
height ์›นํŽ˜์ด์ง€์˜ ์„ธ๋กœ ๋†’์ด๊ฐ’ 
device-width ๊ธฐ๊ธฐ์˜ ๊ฐ€๋กœ ๋„ˆ๋น„๊ฐ’ 
device-height ๊ธฐ๊ธฐ์˜ ์„ธ๋กœ ๋†’์ด๊ฐ’ 
orientation ๊ธฐ๊ธฐ์˜ ํ™”๋ฉด ๋ฐฉํ–ฅ  portrait(์„ธ๋กœ) , landscape(๊ฐ€๋กœ) ์‚ฌ์šฉ์•ˆํ•จ 
aspect-ratio ํ™”๋ฉด๋น„์œจ  ๋ธŒ๋ผ์šฐ์ € ํ™”๋ฉด๋น„์œจ(1)
๋ธŒ๋ผ์šฐ์ € ์ข…ํšก๋น„(16/9)
๋ธŒ๋ผ์šฐ์ € ํ•ด์ƒ๋„(1280/720)
์‚ฌ์šฉ์•ˆํ•จ 
device-aspect-ratio ๋‹จ๋ง๊ธฐ์˜ ํ™”๋ฉด๋น„์œจ  ๊ธฐ๊ธฐ ํ™”๋ฉด๋น„์œจ(1)
๊ธฐ๊ธฐ ์ข…ํšก๋น„(16/9)
๊ธฐ๊ธฐ ํ•ด์ƒ๋„(640/320)
์‚ฌ์šฉํ•จ 
color ๊ธฐ๊ธฐ์˜ ๋น„ํŠธ ์ˆ˜  8(bit ๋‹จ์œ„) 
color-index ๊ธฐ๊ธฐ์˜ ์ƒ‰์ƒ ์ˆ˜   128(์ƒ‰์ƒ ์ˆ˜ ๋‹จ์œ„) 
monochrome ๊ธฐ๊ธฐ๊ฐ€ ํ‘๋ฐฑ์ผ๋•Œ ํ”ฝ์…€๋‹น ๋น„ํŠธ ์ˆ˜  1(bit ๋‹จ์œ„) 
resolution ๊ธฐ๊ธฐ์˜ ํ•ด์ƒ๋ ฅ  300dpi/dpcm 
scan TV์˜ ์Šค์บ” ๋ฐฉ์‹  progressive/interlace  ์‚ฌ์šฉ์•ˆํ•จ
grid ๊ธฐ๊ธฐ์˜ ๊ทธ๋ฆฌ๋“œ/๋น„ํŠธ๋งต  0(๋น„ํŠธ๋งต ๋ฐฉ์‹) / 1(๊ทธ๋ฆฌ๋“œ ๋ฐฉ์‹) 

โ€‹

min-width / max-width

: ๋ทฐ ์˜์—ญ์—์„œ์˜ ์ตœ์†Œ ๋„“์ด. ์ฆ‰ ์ง€์ •ํ•œ ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ๋„“์€ ๊ฒฝ์šฐ ์ ์šฉ (์ด์ƒ) / ๋ทฐ ์˜์—ญ์—์„œ์˜ ์ตœ๋Œ€ ๋„“์ด. ์ฆ‰ ์ง€์ •ํ•œ ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ ์ ์šฉ (์ดํ•˜)

/* ๋ทฐํฌํŠธ ๋„ˆ๋น„๊ฐ€ 768px ์ด์ƒ '๊ทธ๋ฆฌ๊ณ ' 1024px ์ดํ•˜์ด๋ฉด ์‹คํ–‰ */
@media all and (min-width:768px) and (max-width:1024px) { … } 

/* ๋ทฐํฌํŠธ ๋„ˆ๋น„๊ฐ€ 768px ์ด๊ฑฐ๋‚˜ '๋˜๋Š”' 1024px ์ด๋ฉด ์‹คํ–‰ */
@media all and (width:768px), (width:1024px) { … } 

/* ๋ทฐํฌํŠธ ๋„ˆ๋น„๊ฐ€ 768px ์ด์ƒ '๊ทธ๋ฆฌ๊ณ ' 1024px ์ดํ•˜๊ฐ€ '์•„๋‹ˆ๋ฉด' ์‹คํ–‰ */
@media not all and (min-width:768px) and (max-width:1024px) { … }

 

max-device-width / min-device-width

: ๋””๋ฐ”์ด์Šค ์‚ฌ์ด์ฆˆ์˜ ์ตœ๋Œ€ ๋„“์ด. ์ด ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ ์ ์šฉ / ๋””๋ฐ”์ด์Šค ์‚ฌ์ด์ฆˆ์˜ ์ตœ์†Œ ๋„“์ด. ์ด ์‚ฌ์ด์ฆˆ๋ณด๋‹ค ๋„“์„ ๊ฒฝ์šฐ ์ ์šฉ

๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ๋‚ด ๋ชจ๋‹ˆํ„ฐ ํ•ด์ƒ๋„๊ฐ€ FHD์ด๊ฑฐ๋‚˜ QHD์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉ,

์Šค๋งˆํŠธํฐ ํ•ด์ƒ๋„์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ ์šฉ

/* ์Šคํฌ๋ฆฐ ๋„ˆ๋น„๊ฐ€ 320px '๊ทธ๋ฆฌ๊ณ ' ๋†’์ด๊ฐ€ 480px ์ด๋ฉด ์‹คํ–‰ */
@media all and (device-width:320px) and (device-height:480px) { … } 

/* ์Šคํฌ๋ฆฐ ๋„ˆ๋น„๊ฐ€ ์ตœ์†Œ 320px ์ด์ƒ '๊ทธ๋ฆฌ๊ณ ' ๋†’์ด๊ฐ€ ์ตœ์†Œ 480px ์ด์ƒ์ด๋ฉด ์‹คํ–‰ */
@media all and (min-device-width:320px) and (min-device-height:480px) { … }

 

orientation

: ์„ธ๋กœ ๊ธธ์ด ํ˜น์€ ๊ฐ€๋กœ๊ธธ์ด์˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋กœ ๊ธฐ์ค€์„ ์ ์šฉ

  • portrait : ์„ธ๋กœ ๊ธธ์ด ์ค‘์‹ฌ์˜ ๊ฒฝ์šฐ 
  • landscape : ๊ฐ€๋กœ๊ธธ์ด ์ค‘์‹ฌ์˜ ๊ฒฝ์šฐ

์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด,

portrait๋Š” ์Šค๋งˆํŠธํฐ์„ ๊ทธ๋Œ€๋กœ ์„ธ๋กœ๋กœ ๊ธธ๊ฒŒ ๋ณผ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•˜๊ณ 

landscape๋Š” ๊ฐ€๋กœ๋กœ ๋†“๊ณ  ๋ณผ ๊ฒฝ์šฐ์— ํ•ด๋‹นํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

@media screen 
   and (max-device-width: 760px) /* ๋””๋ฐ”์ด์Šค๊ฐ€ ๋ชจ๋ฐ”์ผ์ผ๋•Œ(device-width 0 ~ 768px) */
   and (orientation: landscape) { /* ๊ทธ๋ฆฌ๊ณ  ๊ฐ€๋กœ๋กœ ๋ณผ๋•Œ */
      * { color: blue;}
   }

โ€‹

aspect-ratio

๋ทฐํฌํŠธ์˜ ๋„ˆ๋น„์™€ ๋†’์ด์— ๋Œ€ํ•œ ๋น„์œจ. ‘๋„ˆ๋น„/๋†’์ด’ ์ˆœ์œผ๋กœ ์กฐ๊ฑด์„ ์ž‘์„ฑํ•œ๋‹ค. 

min/max ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋„ˆ๋น„ ๊ฐ’์˜ ์ตœ์†Œ/์ตœ๋Œ€ ๋น„์œจ์„ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

/* ๋ทฐํฌํŠธ ๋„ˆ๋น„๊ฐ€ 5, ๋†’์ด๊ฐ€ 4 ๋น„์œจ์ด๋ฉด ์‹คํ–‰ */
@media all and (aspect-ratio:5/4) { … } 

/* ๋ทฐํฌํŠธ ๋„ˆ๋น„๊ฐ€ 5/4 ๋น„์œจ ์ด์ƒ์ด๋ฉด ์‹คํ–‰ */
@media all and (min-aspect-ratio:5/4) { … } 

/* ๋ทฐํฌํŠธ ๋„ˆ๋น„๊ฐ€ 5/4 ๋น„์œจ ์ดํ•˜๋ฉด ์‹คํ–‰ */
@media all and (max-aspect-ratio:5/4) { … }

 

device-aspect-ratio

์Šคํฌ๋ฆฐ์˜ ๋„ˆ๋น„์™€ ๋†’์ด์— ๋Œ€ํ•œ ๋น„์œจ. ‘๋„ˆ๋น„/๋†’์ด’ ์ˆœ์œผ๋กœ ์กฐ๊ฑด์„ ์ž‘์„ฑํ•œ๋‹ค. 

min/max ์ ‘๋‘์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋„ˆ๋น„ ๊ฐ’์˜ ์ตœ์†Œ/์ตœ๋Œ€ ๋น„์œจ์„ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

/* ์Šคํฌ๋ฆฐ ๋„ˆ๋น„๊ฐ€ 5, ๋†’์ด๊ฐ€ 4 ๋น„์œจ์ด๋ฉด ์‹คํ–‰ */
@media all and (device-aspect-ratio:5/4) { … } 

/* ์Šคํฌ๋ฆฐ ๋„ˆ๋น„๊ฐ€ 5/4 ๋น„์œจ ์ด์ƒ์ด๋ฉด ์‹คํ–‰ */
@media all and (min-device-aspect-ratio:5/4) { … } 

/* ์Šคํฌ๋ฆฐ ๋„ˆ๋น„๊ฐ€ 5/4 ๋น„์œจ ์ดํ•˜๋ฉด ์‹คํ–‰ */
@media all and (max-device-aspect-ratio:5/4) { … }

 

color

์ถœ๋ ฅ ์žฅ์น˜์˜ ์ƒ‰์ƒ์— ๋Œ€ํ•œ ๋น„ํŠธ ์ˆ˜. ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ์ปฌ๋Ÿฌ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ 0์˜ ๊ฐ’์— ๋Œ€์‘ํ•œ๋‹ค.

@media all and (color) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ์ปฌ๋Ÿฌ๋ฅผ ์ง€์›ํ•˜๋ฉด ์‹คํ–‰ */
@media all and (color:0) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ์ปฌ๋Ÿฌ๊ฐ€ ์•„๋‹ˆ๋ฉด ์‹คํ–‰ */
@media all and (color:8) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ 8๋น„ํŠธ ์ƒ‰์ƒ์ด๋ฉด ์‹คํ–‰ */
@media all and (min-color:8) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ 8๋น„ํŠธ ์ด์ƒ ์ƒ‰์ƒ์ด๋ฉด ์‹คํ–‰ */
@media all and (max-color:8) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ 8๋น„ํŠธ ์ดํ•˜ ์ƒ‰์ƒ์ด๋ฉด ์‹คํ–‰ */

 

monochrome

์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ํ‘๋ฐฑ์ธ ๊ฒฝ์šฐ ํ”ฝ์…€๋‹น ๋น„ํŠธ ์ˆ˜. ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ํ‘๋ฐฑ์ด ์•„๋‹ˆ๋ผ๋ฉด 0์˜ ๊ฐ’์— ๋Œ€์‘ํ•œ๋‹ค.

@media all and (monochrome) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ํ‘๋ฐฑ์ด๋ฉด ์‹คํ–‰ */
@media all and (monochrome:0) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ํ‘๋ฐฑ์ด ์•„๋‹ˆ๋ฉด ์‹คํ–‰ */
@media all and (min-monochrome:2) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ํ‘๋ฐฑ์ด๊ณ  2๋น„ํŠธ ์ด์ƒ์ด๋ฉด ์‹คํ–‰ */
@media all and (max-monochrome:2) { … } /* ์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ํ‘๋ฐฑ์ด๊ณ  2๋น„ํŠธ ์ดํ•˜์ด๋ฉด ์‹คํ–‰ */

 

resolution

์ถœ๋ ฅ ์žฅ์น˜์˜ dpi ํ•ด์ƒ๋ ฅ์— ๋Œ€์‘ํ•œ๋‹ค. 

min/max ์ ‘๋‘์‚ฌ๋Š” ์‚ฌ๊ฐํ˜• ์•„๋‹Œ ํ”ฝ์…€(์ธ์‡„ ์žฅ์น˜)์—๋„ ๋Œ€์‘ํ•˜์ง€๋งŒ ์ ‘๋‘์‚ฌ ์—†๋Š” resolution ์กฐ๊ฑด์€ ์‚ฌ๊ฐํ˜• ํ”ฝ์…€์—๋งŒ ๋Œ€์‘ํ•œ๋‹ค.

์กฐ๊ฑด์˜ ๊ฐ’์œผ๋กœ dpi์™€ dpcm ๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

@media all and (resolution:96dpi) { … } /* 1์ธ์น˜๋‹น 96๊ฐœ์˜ ์‚ฌ๊ฐํ˜• ํ™”์†Œ๋ฅผ ์ œ๊ณตํ•˜๋ฉด ์‹คํ–‰ */
@media all and (min-resolution:96dpi) { … } /* 1์ธ์น˜๋‹น 96๊ฐœ ์ด์ƒ์˜ ํ™”์†Œ๋ฅผ ์ œ๊ณตํ•˜๋ฉด ์‹คํ–‰ */
@media all and (max-resolution:96dpi) { … } /* 1์ธ์น˜๋‹น 96๊ฐœ ์ดํ•˜์˜ ํ™”์†Œ๋ฅผ ์ œ๊ณตํ•˜๋ฉด ์‹คํ–‰ */

 

scan

TV์˜ ์Šค์บ” ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋Œ€์‘ํ•œ๋‹ค. progressive ๊ฐ’์€ ์ดˆ๋‹น 60ํšŒ ์ˆ˜์ค€์˜ ๊ณ ํ™”์งˆ ์Šค์บ”์— ๋Œ€์‘ํ•˜๊ณ  interlace ๊ฐ’์€ ์ดˆ๋‹น 30ํšŒ ์ˆ˜์ค€์˜ ์ผ๋ฐ˜ ์Šค์บ”์— ๋Œ€์‘ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ HDTV๋Š” progressive์™€ interlace ๋ฐฉ์‹์„ ๋ชจ๋‘ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

 

grid

์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ๊ทธ๋ฆฌ๋“œ ๋ฐฉ์‹์ด๋ฉด ๋Œ€์‘ํ•œ๋‹ค. ๊ทธ๋ฆฌ๋“œ ๋ฐฉ์‹์€ ํƒ€์ž๊ธฐ์™€ ๊ฐ™์ด ๊ณ ์ •๋œ ๊ธ€๊ผด๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์žฅ์น˜์ด๋‹ค. ํ†ต์ƒ ์ถœ๋ ฅ ์žฅ์น˜๋Š” ๋น„ํŠธ๋งต์ด ์•„๋‹ˆ๋ฉด ๊ทธ๋ฆฌ๋“œ ๋ฐฉ์‹์ด๋‹ค. ๊ฐ’์€ ์ •์ˆ˜ 0๊ณผ 1 ๋ฟ์ด๊ณ  0์˜ ๊ฐ’์€ ๋น„ํŠธ๋งต ๋ฐฉ์‹์— ๋Œ€์‘ํ•œ๋‹ค.


๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์‹ค์ „ ์˜ˆ์ œ

 

[480px์ด์ƒ์˜ ๋ฏธ๋””์–ด ํƒ€์ž…์˜ ๊ฒฝ์šฐ]

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

/* ๋˜๋Š” */

@media screen and (max-width:480px) { ... }

 

[480px์—์„œ 768px๊นŒ์ง€ ๋„“์ด์˜ ๋ฏธ๋””์–ด ํƒ€์ž…]

@media screen and (min-width:480px) and (max-width:768px) { ... }

 

[and๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“  ์กฐ๊ฑด์„ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฏธ๋””์–ด ํƒ€์ž…]

@media screen and (min-height:640px) and (min-width:480px)

 

[or ( , )๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์–ด๋А ํ•œ์ชฝ๋งŒ ๋งŒ์กฑํ•˜๋Š” ๋ฏธ๋””์–ด ํƒ€์ž…]

@media screen and (min-width: 320px) and (min-width: 480px), screen and (min-width: 480px), print

 

[ํƒ€์ดํ‹€์˜ ํ…์ŠคํŠธ ํฌ๊ธฐ๋ฅผ 40px๋กœ ํ•˜๋˜, 600px๋ณด๋‹ค ์ž‘์€ ํ™”๋ฉด์—์„œ๋Š” 20px๋กœ ์ค„์ธ๋‹ค]

.title {
  font-size: 40px;
}
 
@media (max-width: 600px) {
  .title {
    font-size: 20px;
  }
}

๋ฏธ๋””์–ด์ฟผ๋ฆฌ-๋ฐ˜์‘ํ˜•

 

โ€‹[1200, 768, 480px ํ™”๋ฉด์—์„œ ๋”ฐ๋กœ๋”ฐ๋กœ ์Šคํƒ€์ผ ์ ์šฉํ•˜๊ณ  ์‹ถ์„๋•Œ ์ฝ”๋“œ์ˆœ์„œ]

@media screen and (max-width:480px) { ... }
@media screen and (max-width:768px) { ... }
@media screen and (max-width:1200px) { ... }

โ€‹

[ํ™”๋ฉด ๋„ˆ๋น„์— ๋”ฐ๋ผ ์—˜๋ฆฌ๋จผํŠธ ์ˆจ๊ธฐ๊ธฐ]

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ํŠน์ • ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ํ™”๋ฉด์˜ ๋„ˆ๋น„์— ๋”ฐ๋ผ ์ˆจ๊ธธ ๋•Œ๋„ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชฉ๋ก์—์„œ ์–ด๋–ค ํ•ญ๋ชฉ์€ ๋„“์€ ํ™”๋ฉด์—์„œ ์ˆจ๊ธฐ๊ณ  ์–ด๋–ค ํ•ญ๋ชฉ์€ ์ข์€ ํ™”๋ฉด์—์„œ ์ˆจ๊ธฐ๊ณ  ์‹ถ๋‹ค๋ฉด,

<ul>
  <li class="desktop">์ €๋Š” ๋„“์€ ํ™”๋ฉด์—์„œ๋งŒ ๋ณด์ž…๋‹ˆ๋‹ค.</li>
  <li>์ €๋Š” ํ•ญ์ƒ ๋ณด์ž…๋‹ˆ๋‹ค.</li>
  <li class="mobile">์ €๋Š” ์ข์€ ํ™”๋ฉด์—์„œ๋งŒ ๋ณด์ž…๋‹ˆ๋‹ค.</li>
</ul>
@media (max-width: 600px) {
  .desktop {
    display: none;
  }
}

@media (min-width: 1000px) {
  .mobile {
    display: none;
  }
}

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ - Viewport ์ง€์ •

โ€‹Viewport๋ž€ ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ web conetent ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์˜์—ญ์œผ๋กœ์จ, ์ผ๋ฐ˜ PC์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐœ๋…์ด๋‹ค.

Viewport๋Š” ์›นํŽ˜์ด์ง€์˜ ๋„ˆ๋น„์™€ ๋†’์ด, ํ™•๋Œ€/์ถ•์†Œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด web content๊ฐ€ ์ตœ์ ์˜ ์ƒํƒœ๋กœ ํ™”๋ฉด์— ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค€๋‹ค.

์‰ฝ๊ฒŒ๋งํ•ด ์–ด๋– ํ•œ ์‚ฌ์ดํŠธ๋ฅผ ์Šค๋งˆํŠธํฐ์œผ๋กœ ๋ณด๊ณ  ์žˆ์„ ๊ฒฝ์šฐ ์†๊ฐ€๋ฝ ๋‘ ๊ฐœ๋กœ ์ด๋ฏธ์ง€๋ฅผ ํ™•๋Œ€ํ•˜๋ ค๊ณ  ํ–ˆ์„ ๋•Œ ์ด๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด ์ฃผ๋А๋ƒ ํ•ด ์ฃผ์ง€ ์•Š๋А๋ƒ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งํ•œ๋‹ค.

โ€‹

์ง€์ • ๋ฐฉ๋ฒ•์€ head ํƒœ๊ทธ ์•ˆ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ๋ฉด ๋œ๋‹ค

viewport meta tag๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ํ™”๋ฉด ์„ค์ •๊ณผ ๊ด€๋ จ๋œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

<meta name="viewport" content="width=device-width, maximum-scale=1.0, minimum-scale=1, 
  user-scalable=yes,initial-scale=1.0" />

meta tag์—์„œ๋Š” px๋‹จ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ ๋‹จ์œ„ ํ‘œํ˜„์€ ์ƒ๋žตํ•œ๋‹ค.

๋ณต์ˆ˜๊ฐœ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์‰ผํ‘œ(,)๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ viewport meta tag๋Š” ๋ชจ๋ฐ”์ผ ๋””๋ฐ”์ด์Šค์—์„œ๋งŒ ์ ์šฉ๋œ๋‹ค.

 ์†์„ฑ๋ช… ์†์„ฑ๊ฐ’  ์†์„ฑ์„ค๋ช… 
width  device-width, ์–‘์ˆ˜  ๋ทฐํฌํŠธ์˜ ๋„ˆ๋น„๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
height  device-height. ์–‘์ˆ˜  ๋ทฐํฌํŠธ์˜ ๋†’์ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
inital-scale ์–‘์ˆ˜  ๋ทฐํฌํŠธ์˜ ์ดˆ๊ธฐ ๋ฐฐ์œจ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค. 1๋ณด๋‹ค ์ž‘์€ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์ถ•์†Œ๋œ ํŽ˜์ด์ง€๋ฅผ ํ‘œ์‹œํ•˜๊ณ ,
1๋ณด๋‹ค ํฐ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ํ™•๋Œ€๋œ ํŽ˜์ด์ง€๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
user-scalable yes, no  ๋ทฐํฌํŠธ์˜ ํ™•๋Œ€/์ถ•์†Œ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ yes์ด๋ฉฐ no๋กœ ์„ค์ •ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ํ™•๋Œ€ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
minimum-scale ์–‘์ˆ˜  ๋ทฐํฌํŠธ์˜ ์ตœ์†Œ ์ถ•์†Œ ๋น„์œจ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ 0.25์ž…๋‹ˆ๋‹ค. 
maximum-scale ์–‘์ˆ˜  ๋ทฐํฌํŠธ์˜ ์ตœ๋Œ€ ํ™•๋Œ€ ๋น„์œจ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ๋ณธ๊ฐ’์€ 5.0์ž…๋‹ˆ๋‹ค. 
โ€ป minimum-scale๊ณผ maximum-scale ์†์„ฑ์€ ๊ฐ๊ฐ ๊ฐ’์„ 1.0์œผ๋กœ ์ง€์ •ํ•  ๊ฒฝ์šฐ user-scalable๋ฅผ yes๋กœ ์ง€์ •ํ•˜๋”๋ผ๋„ ์‚ฌ์šฉ์ž๊ฐ€ ํ™”๋ฉด์„ ํ™•๋Œ€ ์ถ•์†Œ ํ•  ์ˆ˜ ์—†๋‹ค.

๋‹ค์–‘ํ•œ ๋””๋ฐ”์ด์Šค์—์„œ์˜ ํ•ด์ƒ๋„

ํ•ด์ƒ๋„

/* All Device */

/* Custom, iPhone Retina : 320px ~ */
@media only screen and (min-width : 320px) {

}
/* Extra Small Devices, Phones : 480px ~ */
@media only screen and (min-width : 480px) {

}
/* Small Devices, Tablets : 768px ~ */
@media only screen and (min-width : 768px) {

}
/* Medium Devices, Desktops : 992px ~ */
@media only screen and (min-width : 992px) {

}
/* Large Devices, Wide Screens : 1200px ~ */
@media only screen and (min-width : 1200px) {

}

/*==========  Non-Mobile First Method  ==========*/
/* All Device */

/* Large Devices, Wide Screens : ~ 1200px */
@media only screen and (max-width : 1200px) {

}
/* Medium Devices, Desktops : ~ 992px */
@media only screen and (max-width : 992px) {

}
/* Small Devices, Tablets : ~ 768px */
@media only screen and (max-width : 768px) {

}
/* Extra Small Devices, Phones : ~ 480px */
@media only screen and (max-width : 480px) {

}
/* Custom, iPhone Retina : ~ 320px */
@media only screen and (max-width : 320px) {

}

# ์ฐธ๊ณ ์ž๋ฃŒ

https://skydoor2019.tistory.com/8

https://poiemaweb.com/css3-responsive-web-design

https://naradesign.github.io/media-query.html

https://dolly77.tistory.com/88