๐Ÿ’›[๋ถ€์ŠคํŠธ์ฝ”์Šค_์›น UI ๊ฐœ๋ฐœ] 8. ๋ฏธ๋””์–ด์ฟผ๋ฆฌ

๐Ÿ‘พยท2021๋…„ 1์›” 25์ผ
0

HTML & CSS

๋ชฉ๋ก ๋ณด๊ธฐ
8/20

๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์†Œ๊ฐœ

๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋Š” ๋ฐ˜์‘ํ˜• ์›น ์‚ฌ์ดํŠธ๋ฅผ ์ œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๋‚ด์šฉ

Media Queires
๊ฐ ๋ฏธ๋””์–ด ๋งค์ฒด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์Šคํƒ€์ผ ์‹œํŠธ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š”๊ฒƒ

์—ฌ๊ธฐ์„œ์˜ ๋ฏธ๋””์–ด ๋งค์ฒด : ๋ชจ๋‹ˆํ„ฐ์™€ ๊ฐ™์€ ์Šคํฌ๋ฆฐ ๋งค์ฒด, ํ”„๋ฆฐํŠธ ๋งค์ฒด, ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ธฐ ๋“ฑ

์ฆ‰, ๋™์ผํ•œ ์›นํŽ˜์ด์ง€๋ฅผ ์Šคํฌ๋ฆฐ์ด๋‚˜ ํ”„๋ฆฐํ„ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์˜ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๊ฐ ์ตœ์ ํ™”๋œ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค๋ฅธ ์Šคํƒ€์ผ ์‹œํŠธ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ๋Š”๊ฒƒ์ด ๋ฏธ๋””์–ด์ฟผ๋ฆฌ์˜ ๋ชฉ์ 

css3์—์„œ ์ฒ˜์Œ ์†Œ๊ฐœ๋จ

css2์— ๋ฏธ๋””์–ด ํƒ€์ž…์ด๋ผ๋Š” ๊ธฐ์ˆ ์ด ์žˆ์—ˆ์Œ.
๋ฏธ๋””์–ด ํƒ€์ž…์€ ๊ฒฐ๊ตญ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์™€ ๊ฐ™์€ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ธฐ์ˆ .
๋ฏธ๋””์–ด ํƒ€์ž…์€ ๋ช‡๊ฐ€์ง€ ๋ฏธ๋””์–ด ํƒ€์ž…์„ ์ •์˜ํ•˜๊ณ  ํ•ด๋‹นํ•˜๋Š” ๋ฏธ๋””์–ด ๋งค์ฒด์— ์Šคํƒ€์ผ ์‹œํŠธ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋‚ด์šฉ

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ๋ฏธ๋””์–ด ํƒ€์ž…์„ ๊ฐœ์„ ํ•˜๊ณ  ํ™•์žฅํ•ด์„œ ๋งŒ๋“ค์–ด์ง„๊ฒƒ์ด๋ฏ€๋กœ ์„ ์–ธํ•˜๋Š” ๋ฐฉ์‹์ด ๊ฐ™๋‹ค
๋ฏธ๋””์–ด ํƒ€์ž…์€ ์ด๋ก ์ ์œผ๋กœ๋Š” ํœผ๋ฅญํ–ˆ์œผ๋‚˜, ํ•˜๋‚˜์˜ ๋ฏธ๋””์–ดํƒ€์ž…์—์„œ ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ์ ์šฉ๋œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์กด์žฌ
ex) handheld ํƒ€์ž…์˜ ๊ฒฝ์šฐ ์ˆ˜๋งŽ์€ ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ ๊ธฐ๊ธฐ๊ฐ€ ์—ฌ๊ธฐ์— ํ•ด๋‹น๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ์Šคํƒ€์ผ๋กœ ๋ชจ๋“  ์†Œํ˜•๊ธฐ๊ธฐ๋ฅผ ๋Œ€์‘ํ•ด์•ผํ•จ.
์ฆ‰ 1)๋””ํ…Œ์ผํ•œ ๊ตฌ๋ถ„์„ ํ•  ์ˆ˜ ์—†์—ˆ๋‹ค๋Š” ๋ฌธ์ œ์ 
๋˜ํ•œ ๋‹น์‹œ์—๋Š” ์›น ํ™˜๊ฒฝ์„ ์ œ๋Œ€๋กœ ์ง€์›ํ•˜๋Š” ๋ฏธ๋””์–ด ๋งค์ฒด๊ฐ€ ๋ฐ์Šคํฌํ†ฑ, ๋…ธํŠธ๋ถ์ •๋„ ๋ฐ–์— ์—†์—ˆ๊ธฐ ๋–„๋ฌธ์— ํ˜„์‹ค์ ์œผ๋กœ ์ ์šฉ๋  ์ˆ˜ ์—†์—ˆ๋‹ค
2)์ฆ‰ ๋ฏธ๋””์–ด ํƒ€์ž…์„ ์ œ๋Œ€๋กœ ์ง€์›ํ•˜๋Š” ๊ธฐ๊ธฐ๊ฐ€ ์—†์—ˆ๋‹ค

ํ˜„์žฌ ์›น์€ ๊ธ‰๊ฒฉํ•˜๊ฒŒ ๋ฐœ์ „ํ–ˆ๊ณ , ์›น์„ ์ง€์›ํ•˜๋Š” ๊ธฐ๊ธฐ๋“ค์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚จ์œผ๋กœ์จ ๋Œ€์‘ํ•ด์•ผ ํ•˜๋Š” ๋ฏธ๋””์–ด์˜ ํญ์ด ์ƒ๋‹นํžˆ ๋Š˜์–ด๋‚จ
๋”ฐ๋ผ์„œ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ๋“ฑ์žฅ
๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋กœ ์ธํ•ด์„œ ์ด์ „์— ์ •์ ์ด๊ณ  ๊ณ ์ • ๋ ˆ์ด์•„์›ƒ ์›น ์‚ฌ์ดํŠธ์—์„œ ๋™์ ์œผ๋กœ ๋ฐ˜์‘ํ•˜๋Š” ๋ฐ˜์‘ํ˜• ์›น ์‚ฌ์ดํŠธ๋กœ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ์ƒˆ๋กญ๊ฒŒ ๋ณ€ํ™”ํ•˜์˜€๋‹ค


๋ฏธ๋””์–ด ํƒ€์ž… & ๋ฏธ๋””์–ด ํŠน์„ฑ

@media mediaqueries { /* style rules  */ }

@ : at์ด๋ผ๊ณ  ๋ถ€๋ฆ„
@media์ด๋ ‡๊ฒŒ ์‹œ์ž‘๋˜๋ฉด ์ง€๊ธˆ๋ถ€ํ„ฐ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์„ ์–ธํ•œ๋‹ค๋Š” ๋œป
๊ทธ ๋’ค์— ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฌธ์ด ๋‚˜์˜จ๋‹ค
๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฌธ์ด ๋๋‚˜๋ฉด {}๋ฅผ ์ด์šฉํ•ด์„œ ์Šคํƒ€์ผ ๊ทœ์น™์„ ์ž‘์„ฑํ•˜๋ฉด ๋

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฌธ์€ ์ฐธ/๊ฑฐ์ง“์œผ๋กœ ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ‰๊ฐ€๊ฐ€๋จ
์ฟผ๋ฆฌ๋ฌธ์ด ์ฐธ์ด๋ฉด ๋’ค์— ๋‚˜์˜ค๋Š” ์Šคํƒ€์ผ ๊ทœ์น™๋“ค์ด ์ ์šฉ์ด๋จ
๊ฑฐ์ง“์ด๋ฉด ์Šคํƒ€์ผ ๊ทœ์น™๋“ค์ด ๋‹ค ๋ฌด์‹œ๋จ

๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฌธ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ง
1. ๋ฏธ๋””์–ด ํƒ€์ž… 2. ๋ฏธ๋””์–ด ํŠน์„ฑ

  1. ๋ฏธ๋””์–ด ๋งค์ฒด์ธ ์Šคํฌ๋ฆฐ, ํ”„๋ฆฐํ„ฐ, tv๋“ฑ ์—ฌ๋Ÿฌ ํƒ€์ž…
  2. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์—์„œ ์ƒˆ๋กญ๊ฒŒ ํ™•์žฅ๋œ ๋ถ€๋ถ„
    ๋ฏธ๋””์–ด ๋งค์ฒด๋ฅผ ์กฐ๊ธˆ ๋” ์„ธ๋ถ„ํ™”ํ• ์ˆ˜์žˆ๋„๋ก ์—ฌ๋Ÿฌ ๋ฏธ๋””์–ด ํŠน์„ฑ๋“ค์ด ์ •์˜๊ฐ€ ๋˜์–ด์žˆ๋‹ค.

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์˜ ๋‹ค์Œ ๋ฒ„์ „์ธ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ level4๊ฐ€ CR๋‹จ๊ณ„
๊ทธ๋ž˜์„œ ํ˜„์žฌ ๋ฏธ๋””์–ด ํŠน์„ฑ ์ค‘ ๋””๋ฐ”์ด์Šค ๊ด€๋ จํ•œ ํŠน์„ฑ๋“ค์ด ํ๊ธฐ์˜ˆ์ •

์•Œ์•„์•ผํ•  ๋ฏธ๋””์–ด ํƒ€์ž…
all, print, screen

  • screen์ด ๊ฑฐ์˜ ์ „๋ถ€
    ํ™”๋ฉด์„ ์ถœ๋ ฅํ•˜๋Š” ๋””์Šคํ”Œ๋ ˆ์ด๊ฐ€ ์žˆ๋Š” ๊ธฐ๊ธฐ๋“ค์ด ์ „๋ถ€๋‹ค ์Šคํฌ๋ฆฐ์— ํ•ด๋‹น
  • print ํƒ€์ž… : ์ธ์‡„ํ• ๋•Œ๋Š” ๊ฐ€๋…์„ฑ๋–„๋ฌธ์— ์Šคํฌ๋ฆฐ๋ณด๋‹ค ์ข€ ๋” ํฐ ํฐํŠธ ์‚ฌ์šฉ, ์ž‰ํฌ๋ฌธ์ œ๋กœ ๋ฐฐ๊ฒฝ์ƒ‰์ƒ ์—†์• ๋Š” ๋“ฑ์˜ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋จ
  • all ํƒ€์ž… : ๋ชจ๋“  ๊ธฐ๊ธฐ์— ์ ์šฉ. ๋ฏธ๋””์–ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์šฉ๋„๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉx

์•Œ์•„์•ผํ•  ๋ฏธ๋””์–ด ํŠน์„ฑ
width, orientation

  • width: ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐ€๋กœ. ๋ทฐํฌํŠธ์˜ ๊ฐ€๋กœ
  • orientation : ๋ฏธ๋””์–ด๊ฐ€ ์„ธ๋กœ๋กœ ๊ธธ์— ๋‚˜์™€์žˆ๋Š”์ง€ ๊ฐ€๋กœ๋กœ๋˜์–ด์žˆ๋Š”์ง€ ๊ตฌ๋ถ„ํ•˜๋Š” ํŠน์„ฑ
    ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์—์„œ๋Š” ๋ทฐํฌํŠธ์— width๊ฐ’๊ณผ height๊ฐ’์„ ๋น„๊ตํ•ด์„œ height๊ฐ’์ด width๊ฐ’๋ณด๋‹ค ํฌ๋ฉด ์„ธ๋กœ๋ชจ๋“œ
    height๊ฐ’์ด width๊ฐ’๋ณด๋‹ค ์ž‘์œผ๋ฉด ๊ฐ€๋กœ๋ชจ๋“œ๋กœ ๋Œ€์‘
    ์‹ค์ œ ๋ฐ˜์‘ํ˜• ์‚ฌ์ดํŠธ๋“ค์ด ๋ฏธ๋””์–ด์ฟผ๋ฆฌ์˜ widthํŠน์„ฑ ํ•˜๋‚˜๋กœ ๋Œ€๋ถ€๋ถ„ ์ œ์ž‘๋œ ๊ฒฝ์šฐ ๋งŽ์Œ
    ๊ธฐํƒ€ ๋‹ค๋ฅธ ํŠน์„ฑ๋“ค์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค

Media Queries

Media Queries Level 4


Syntax - 1

S* : ๊ณต๋ฐฑ์— ๊ด€๋ จ๋œ ํ‘œ์‹œ. ์—†๋‹ค๊ณ  ๋ณด๋Š”๊ฒŒ ์ดํ•ด์‰ฌ์›€
[]: ์•ˆ์— ๋‚ด์šฉ์ด ์žˆ์„์ˆ˜๋„ ์žˆ๊ณ  ์—†์„์ˆ˜๋„ ์žˆ๊ณ . ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค
| : ํŒŒ์ดํ”„๋ผ์ธ ๊ธฐํ˜ธ. a|b : a๊ฐ€ ๋‚˜์˜ฌ์ˆ˜๋„ ์žˆ๊ณ  b๊ฐ€ ๋‚˜์˜ฌ์ˆ˜๋„ ์žˆ๋‹ค. ๋‘˜์ค‘์— ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์•ผํ•จ
[]* : ์•ž์˜ ๋‚ด์šฉ์ด 0๋ฒˆ๋‚˜์˜ค๊ฑฐ๋‚˜, 1๋ฒˆ ๋‚˜์˜ค๊ฑฐ๋‚˜, ๊ทธ ์ด์ƒ ๊ณ„์† ์—ฐ์†์ ์œผ๋กœ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค
[]? : ์•ž์˜ ๋‚ด์šฉ์ด 0๋ฒˆ ๋‚˜์˜ค๊ฑฐ๋‚˜ 1๋ฒˆ๋งŒ ๋‚˜์™€์•ผํ•œ๋‹ค
'': ๋”ฐ์˜ดํ‘œ ์•ˆ์˜ ๋‚ด์šฉ์ด ๊ตฌ๋ฌธ์— ์‹ค์ œ๋กœ ๊ทธ๋Œ€๋กœ ๋“ค์–ด๊ฐ€์•ผํ•œ๋‹ค.
media_type : ๋ฏธ๋””์–ด ํƒ€์ž…์ด ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„. all/screen/print
media_feature: ๋ฏธ๋””์–ด ํŠน์„ฑ์ด ๋“ค์–ด๊ฐ€๋Š” ๋ถ€๋ถ„. width/orientation

media_query_list
: S* [media_query [ ',' S* media_query ]* ]?
;

: ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ์—ฐ์†์ ์œผ๋กœ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฌธ๋งŒ ๋“ค์–ด๊ฐ€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ์ด๋ฃจ์–ด์ง„ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ฆฌ์ŠคํŠธ์˜ ํ˜•ํƒœ๋„ ๊ฐ€๋Šฅ

 media_query
 : [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
 | expression [ AND S* expression ]*
 ;

|๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์œ—๋ถ€๋ถ„์ด๋‚˜ ์•„๋žซ๋ถ„์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋‘˜์ค‘ ํ•œ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ์ž‘์„ฑ
๋’ท๋ถ€๋ถ„ : ๋ฏธ๋””์–ดํƒ€์ž… ์—†์ด ํ‘œํ˜„์‹๋งŒ์œผ๋กœ๋„ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์ž‘์„ฑ๊ฐ€๋Šฅ
only์™€ notํ‚ค์›Œ๋“œ๋Š” ๋ฏธ๋””์–ดํƒ€์ž… ์•ž์—๋งŒ ๋ถ™์ง€ ํ‘œํ˜„์‹ ์•ž์—๋Š” ๋ถ™์„ ์ˆ˜ ์—†๋‹ค.

expression
: '(' S* media_feature S* [ ':' S* expr ]? ')' S*
;

๋ฌด์กฐ๊ฑด (๋กœ ์‹œ์ž‘ํ•ด์•ผํ•จ
()์•ˆ์— ํ‘œํ˜„์‹ ์ž‘์„ฑ
ํ‘œํ˜„์‹์€
media_feature : ํŠน์„ฑ ์ด๋ฆ„
expr : ํ‰๊ฐ€๋  ๊ฐ’
๋‘๊ฐ€์ง€๋กœ ์ด๋ฃจ์–ด์ง
๋‘˜ ์‚ฌ์ด์— :๋กœ ์—ฐ๊ฒฐํ•ด์•ผํ•จ
ํ‘œํ˜„์‹์€ ํŠน์„ฑ, ์ด๋ฆ„๋งŒ์œผ๋กœ๋„ ์กด์žฌํ•  ์ˆ˜ ์žˆ๊ณ  ํ‰๊ฐ€๋  ๊ฐ’์„ ์“ฐ๋ ค๋ฉด :๋ฅผ ์ด์šฉ

์ •๋ฆฌ

  1. ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ์ŠคํŠธ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋Š” ๋ฏธ๋””์–ดํƒ€์ž… ๋˜๋Š” ๋ฏธ๋””์–ดํ‘œํ˜„์‹์ด ๋‹จ๋…์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค
  3. ๋ฏธ๋””์–ดํ‘œํ˜„์‹์€ ํŠน์„ฑ์ด๋ฆ„๊ณผ ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง. ํ‘œํ˜„์‹์€ ๊ฐ’ ์—†์ด ํŠน์„ฑ์ด๋ฆ„๋งŒ์œผ๋กœ๋„ ์ž‘์„ฑ๊ฐ€๋Šฅ.

Syntax-2

@media screen { ... }

: ๋ฏธ๋””์–ด ํƒ€์ž…์ด screen์ด๋ฉด ์ ์šฉ๋œ๋‹ค.
screen์ด๋ฉด ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๊ฐ€ ์ฐธ์œผ๋กœ ํ‰๊ฐ€๋˜๋ฉด์„œ ์Šคํƒ€์ผ๊ทœ์น™์ด ์ ์šฉ

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

: ๋ฏธ๋””์–ด ํƒ€์ž…์ด screen์ด๊ณ  width๊ฐ€ 768px ์ด์ƒ์ด๋ฉด ์ ์šฉ๋จ. ๋‘ ๊ฐœ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฑฐ์ง“

ํ‘œํ˜„์‹์ด ๋ถ™์€ ํ˜•ํƒœ

  • ํŠน์„ฑ์— ๋ถ™์ผ ์ˆ˜ ์žˆ๋Š” ํ”„๋ฆฌํ”ฝ์Šค : min/max
    ์ตœ์†Œ, ์ตœ๋Œ€๊ตฌ๊ฐ„์„ ์ง€์ •ํ•ด์ค„์ˆ˜ ์žˆ๋‹ค. ํ˜„์žฌ ๊ฐ’๊นŒ์ง€ ํฌํ•จ
    ํ”„๋ฆฌํ”ฝ์Šค๋Š” ํŠน์„ฑ๊ฐ’์œผ๋กœ ๊ธธ์ด์ฒ˜๋Ÿผ ์ˆซ์ž์˜ ํ˜•ํƒœ๋กœ ๋“ค์–ด๊ฐ€๋Š” ํŠน์„ฑ์—๋Š” ๋ชจ๋‘ ์‚ฌ์šฉ๊ฐ€๋Šฅ
    ํ”„๋ฆฌํ”ฝ์Šค๊ฐ€ ๋ถ™์ง€ ๋ชปํ•˜๋Š” ํŠน์„ฑ : orientation, grid, scan
    ์ด 3๊ฐ€์ง€ ํŠน์„ฑ์€ ๊ฐ’์œผ๋กœ ํŠน์ • ํ‚ค์›Œ๋“œ๊ฐ€ ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ
@media (min-width: 768px) and (max-width: 1024px) { ... }

: and๋Š” ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ํ‘œํ˜„์‹์ด ์ฐธ์ด๋ฉด ์ ์šฉ๋จ.(and ํ‚ค์›Œ๋“œ๋Š” ์—ฐ๊ฒฐ๋œ ๋ถ€๋ถ„์ด ๋ชจ๋‘ ์ฐธ์ด์–ด์•ผ ์ ์šฉ)

๋ฏธ๋””์–ดํƒ€์ž…์—†์ด ๋ฐ”๋กœ ํ‘œํ˜„์‹์ด ๋‚˜์˜จ ํ˜•ํƒœ
๋ฏธ๋””์–ดํƒ€์ž…์ด ๋ช…์‹œ๋˜์ง€ ์•Š์œผ๋ฉด all๋กœ ํ•ด์„

@media (color-index)

: ๋ฏธ๋””์–ด ์žฅ์น˜๊ฐ€ color-index๋ฅผ ์ง€์›ํ•˜๋ฉด ์ ์šฉ
ํŠน์„ฑ์ด๋ฆ„๋งŒ ๋‚˜์˜จ ํ˜•ํƒœ

@media screen and (min-width: 768px), screen and (orientation: portrait), ...

: ์‰ผํ‘œ๋กœ ์—ฐ๊ฒฐ๋œ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด ์ ์šฉ( and ํ‚ค์›Œ๋“œ์™€ ๋ฐ˜๋Œ€)
,๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค๋ฅธ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋„ ๋ถ™์ผ ์ˆ˜ ์žˆ๋‹ค

@media not screen and (min-width: 768px)

: not ํ‚ค์›Œ๋“œ๋Š” ํ•˜๋‚˜์˜ media_query ์ „์ฒด๋ฅผ ๋ถ€์ •
: (not screen) and (min-width: 768px) ์ž˜๋ชป๋œ ํ•ด์„!
: not (screen and (min-width: 768px)) ์˜ฌ๋ฐ”๋ฅธ ํ•ด์„!

@media not screen and (min-width: 768px), print

์ฒซ ๋ฒˆ์งธ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ์—๋งŒ not ํ‚ค์›Œ๋“œ๊ฐ€ ์ ์šฉ, ๋‘ ๋ฒˆ์งธ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ(print)์—๋Š” ์˜ํ–ฅ์ด ์—†์Œ

onlyํ‚ค์›Œ๋“œ๋Š” ์˜ˆ์ „์— ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ €๋“ค ๋•Œ๋ฌธ์— ์žˆ๋Š” ํ•˜ํœ˜ํ˜ธํ™˜์„ฑ์šฉ ํ‚ค์›Œ๋“œ๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ์€ onlyํ‚ค์›Œ๋“œ๋ฅผ ์จ๋„ ์•„๋ฌด๋Ÿฐ ๋ณ€ํ™” ์—†์Œ
notํ‚ค์›Œ๋“œ๋Š” ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ํ•ด์„์ด ๋œ๋‹ค

๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์„ ์–ธ๋ฐฉ์‹

@media screen and (color)

: CSS ํŒŒ์ผ ๋‚ด๋ถ€์— ๋˜๋Š” <style> ํƒœ๊ทธ ๋‚ด๋ถ€์— ์‚ฌ์šฉ๊ฐ€๋Šฅ. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ

cssํŒŒ์ผ์•ˆ์— ์„ ์–ธํ•˜๊ฑฐ๋‚˜ html๋‚ด๋ถ€์˜ styleํƒœ๊ทธ ์•ˆ์ชฝ์— ์„ ์–ธ
๋Œ€๋ถ€๋ถ„ ์ด๋Ÿฐ๋ฐฉ์‹์œผ๋กœ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์„ ์–ธ
cssํŒŒ์ผ์•ˆ์— ๋„ฃ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋Œ€๋ถ€๋ถ„

<link rel="stylesheet" media="screen and (color)" href="example.css">

: <link> ํƒœ๊ทธ์˜ media ์†์„ฑ์— ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์„ ์–ธ. ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๊ฐ€ ์ฐธ์ด๋ฉด ๋’ค์— css ํŒŒ์ผ ๊ทœ์น™์ด ์ ์šฉ.

์Šคํƒ€์ผ์‹œํŠธํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋Š” linkํƒœ๊ทธ์— ๋ฏธ๋””์–ด์†์„ฑ ์•ˆ์— ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ง‘์–ด๋„ฃ์Œ.
๋ฏธ๋””์–ด์ฟผ๋ฆฌ๊ฐ€ ์ฐธ์ด๋ฉด css๊ฐ€ ์ ์šฉ. ๊ฑฐ์ง“์œผ๋กœ ํ‰๊ฐ€๋œ๋‹ค ํ•˜๋”๋ผ๋„ ๋‹ค์šด์„ ๋ฐ›๋Š”๋‹ค.

@import url(example.css) screen and (color);

: CSS ํŒŒ์ผ ๋‚ด๋ถ€์— ๋˜๋Š” <style> ํƒœ๊ทธ ๋‚ด๋ถ€์— ์‚ฌ์šฉ.
@import๋ฌธ ๋’ค์— ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์„ ์–ธ

cssํŒŒ์ผ์„ import์‹œํ‚ค๋Š” ๊ธฐ๋Šฅ. ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ
import๋’ค์— cssํŒŒ์ผ ๊ฒฝ๋กœ ์ ์–ด์ฃผ๊ณ  ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฌธ ์ ์Œ
์ฐธ์ด๋ฉด css๋ฅผ ์ ์šฉํ•˜๊ฒ ๋‹ค


์‹ค์Šต

  1. ๋””์Šคํ”Œ๋ ˆ์ด ํฌ๊ธฐ์— ๋”ฐ๋ฅธ bodyํƒœ๊ทธ์˜ background-color ๋ณ€๊ฒฝ
    ๋””์Šคํ”Œ๋ ˆ์ด ํฌ๊ธฐ = ๋ทฐํฌํŠธ ํฌ๊ธฐ
    widthํŠน์„ฑ ์‚ฌ์šฉ
  • ๋ณดํ†ต 768px ์ดํ•˜์—์„œ๋Š” ๋ชจ๋ฐ”์ผ ๋งŽ์ด ๋Œ€์‘
  • 768px๊ณผ 1024px์‚ฌ์ด์—์„œ๋Š” ํƒœ๋ธ”๋ฆฟ
  • ๊ทธ ์ด์ƒ์€ ๋ฐ์Šคํฌํ†ฑ

๋ธŒ๋ผ์šฐ์ €-์šฐํด๋ฆญ-๊ฒ€์‚ฌ-toggle device toolbar
: ๋ทฐํฌํŠธ๋ฅผ ์ž„์˜๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค
๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐ€์ƒํ™˜๊ฒฝ ๊ธฐ๋Šฅ ์ด์šฉํ•ด์„œ ํ™•์ธ๊ฐ€๋Šฅ
more option์˜ show media quries : ๋ฏธ๋””์–ด์ฟผ๋ฆฌ์— ํ•ด๋‹นํ•˜๋Š” ๋ฒ”์œ„๊ฐ€ UI๋กœ ํ‘œํ˜„๋จ

@media screen and (max-width: 767px) {
	body { background-color: gold; }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
	body { background-color: lightblue; }
}
@media screen and (min-width: 1025px) {
	body { background-color: lightpink; }
}
  

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋Š” ์ฟผ๋ฆฌํ‘œํ˜„์‹์„ ์ปดํ“จํ„ฐ๊ฐ€ ํ‰๊ฐ€ํ•ด์•ผํ•˜๋Š”๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์—†๋Š”๊ฒŒ ์„ฑ๋Šฅ์ ์œผ๋กœ ์•„์ฃผ ์กฐ๊ธˆ์ด๋ผ๋„ ๋” ์œ ๋ฆฌ
ํ˜„์žฌ 3๊ฐœ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„œ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ 3๊ฐœ๋ฅผ ์ž‘์„ฑํ–ˆ๋Š”๋ฐ ํ•˜๋‚˜๋Š” ์ž‘์„ฑ ์•ˆํ•ด๋„ ๋จ
๊ธฐ๋ณธ์ ์œผ๋กœ bodyํƒœ๊ทธ ์•ˆ์— background-color๋ฅผ 3๊ฐœ์ค‘ ํ•˜๋‚˜๋กœ ์ •์˜ํ•ด๋†“์œผ๋ฉด ๋‚˜๋จธ์ง€ ๋‘๊ฐœ๋งŒ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ ์ƒ‰์ƒ๊ตฌ๋ถ„ํ•ด์ฃผ๋ฉด ๋œ๋‹ค
์šฉ์–ด : mobile first / desktop first

/* desktop first*/
body { background-color: lightpink; }
@media screen and (min-width: 768px) and (max-width: 1024px) {
	body { background-color: lightblue; }
}
@media screen and (max-width: 767px) {
	body { background-color: gold; }
}
  1. ํŽ˜์ด์ง€ ์ธ์‡„ํ•˜๋Š” ๊ฒฝ์šฐ์˜ ์Šคํƒ€์ผ ์ถ”๊ฐ€
    printํƒ€์ž… ์ด์šฉ
    ์•ต์ปค์š”์†Œ์˜ url์ถœ๋ ฅ
    ์•ต์ปค์š”์†Œ์˜ ๋ฐ‘์ค„ ์ œ๊ฑฐ

ctrl+p : ์ธ์‡„ํ–ˆ์„๋•Œ ํ˜•ํƒœ ๋ฏธ๋ฆฌ ๋ณผ ์ˆ˜ ์žˆ์Œ

@media print {
	a { text-decoration: none; }
	a:after { display: inline; content: '(' attr(href) ')'; }
}

์ฐธ๊ณ ํ• ๋งŒํ•œ ๋งํฌ

https://www.w3.org/TR/css3-mediaqueries/
css3 ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ

https://www.w3.org/TR/mediaqueries-4/
๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ ˆ๋ฒจ4 ๋ช…์„ธ ์ฃผ์†Œ
๋ฐฐ์šด๊ฑฐ๋ž‘ ์ฐจ์ด์žˆ์Œ
ex) min, max ํ”„๋ฆฌํ”ฝ์Šค ๋Œ€์‹  ๋ถ€๋“ฑํ˜ธ ์‚ฌ์šฉ

https://mediaqueri.es/
๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ ์ž‘์„ฑ๋œ ๋ฐ˜์‘ํ˜• ์‚ฌ์ดํŠธ๋“ค์„ ๋ชจ์•„๋†“์€๊ณณ


viewport์˜ ์ดํ•ด

์Šค๋งˆํŠธํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น์„ ์ด์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ ๋นˆ๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ๋†’์•„์ง€๋ฉด ๋ชจ๋ฐ”์ผ ์›น ์ œ์ž‘์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์ค‘์š”ํ•ด์ง

๋ทฐํฌํŠธ๋Š” ๋ชจ๋ฐ”์ผ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์ œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ฐœ๋….

์Šค๋งˆํŠธํฐ ์ด์ „ ์‹œ๋Œ€์—๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์›น ํŽ˜์ด์ง€๊ฐ€ ๋ฐ์Šคํฌํƒ‘ ๋ชจ๋‹ˆํ„ฐ ์‚ฌ์ด์ฆˆ๋ฅผ ๊ณ ๋ คํ•ด์„œ ์ œ์ž‘๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์ฒ˜๋Ÿผ ์ž‘์€ ํ™”๋ฉด์—์„œ๋Š” ๋ชจ๋‘ ๋ณด์ด์ง€ ์•Š์•„ ์ขŒ์šฐ๋กœ ์Šคํฌ๋กค์„ ํ•ด์•ผ๋งŒ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €๋“ค์€ ๋ทฐํฌํŠธ(viewport)๋ผ๋Š” ๊ฐ€์ƒ์˜ ํ™”๋ฉด์„ ๋งŒ๋“ค๊ณ  ๊ทธ ํ™”๋ฉด์— ํŽ˜์ด์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์‹œ์ž‘.
(๊ธฐ๊ธฐ๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์ผ๋ฐ˜์ ์ธ ๋ฐ์Šคํฌํƒ‘ ๋ชจ๋‹ˆํ„ฐ ์‚ฌ์ด์ฆˆ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋Œ€๋ถ€๋ถ„ 980px)

์—ฌ๊ธฐ์—์„œ ์‹ค์ œ ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” ์Šค๋งˆํŠธํฐ์˜ ์Šคํฌ๋ฆฐ ์‚ฌ์ด์ฆˆ(device-width/height)์™€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ™”๋ฉด์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ€์ƒ์˜ ํ™”๋ฉด ์‚ฌ์ด์ฆˆ(viewport)์˜ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒ.

๊ธฐ๋ณธ ๋ทฐํฌํŠธ์˜ ํฌ๊ธฐ๊ฐ€ 980px์ด๊ธฐ ๋•Œ๋ฌธ์— width๊ฐ€ 980px ์ •๋„์ธ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €๋กœ ๋ณด๊ฒŒ ๋˜๋ฉด ๊ฐ€๋กœ ์Šคํฌ๋กค ์—†์ด ๋”ฑ ํ™”๋ฉด์— ๋งž์ถฐ ๋‚˜์˜จ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์Šคํฌ๋กค ํ•˜์ง€ ์•Š์•„๋„ ๋‚ด์šฉ์ด ๋‹ค ๋ณด์—ฌ์ง€๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ๊ธ€์ž๋‚˜ ๊ทธ๋ฆผ๋“ค์ด ๊ทธ ํญ์— ๋งž์ถฐ์„œ ์ž‘์•„์ง€๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋…์„ฑ์ด ๋งค์šฐ ๋–จ์–ด์ง.

๊ทธ๋ž˜์„œ ๋ชจ๋ฐ”์ผ safari์—์„œ ๋ทฐํฌํŠธ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ๋„์ž…ํ•ด์„œ ๋ทฐํฌํŠธ์˜ ํฌ๊ธฐ์™€ ์Šค์ผ€์ผ์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์Œ.

๋ทฐํฌํŠธ ์„ค์ •

๋ทฐํฌํŠธ๋ฅผ ์„ค์ •ํ•˜๋Š” ํƒœ๊ทธ๋Š” <meta> ํƒœ๊ทธ๋กœ <head> ํƒœ๊ทธ์— ์œ„์น˜ํ•ด์•ผ ํ•œ๋‹ค.

name ์†์„ฑ์— "viewport"๋ผ๊ณ  ์„ ์–ธํ•˜๋ฉฐ content ์†์„ฑ์— ๋ทฐํฌํŠธ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋‚ด์šฉ์ด ๋“ค์–ด๊ฐ.

<meta name="viewport" content=" ๋ทฐํฌํŠธ์˜ ์„ค์ • ๊ฐ’" >

content ์„ค์ •

  • width(height) : ๋ทฐํฌํŠธ์˜ ๊ฐ€๋กœ(์„ธ๋กœ) ํฌ๊ธฐ๋ฅผ ์ง€์ •. px๋‹จ์œ„์˜ ์ˆ˜์น˜๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„ ํŠน์ˆ˜ ํ‚ค์›Œ๋“œ์ธ "device-width(height)"๋ฅผ ์‚ฌ์šฉ.(๋ทฐํฌํŠธ์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐ๊ธฐ์˜ ์Šคํฌ๋ฆฐ width(height) ํฌ๊ธฐ๋กœ ์„ค์ •ํ•œ๋‹ค๋Š” ์˜๋ฏธ.)
  • initial-scale : ํŽ˜์ด์ง€๊ฐ€ ์ฒ˜์Œ ๋‚˜ํƒ€๋‚  ๋•Œ ์ดˆ๊ธฐ ์คŒ ๋ ˆ๋ฒจ ๊ฐ’์„ ์„ค์ •.(์†Œ์ˆ˜๊ฐ’)
  • user-scalable : ์‚ฌ์šฉ์ž์˜ ํ™•๋Œ€/์ถ•์†Œ ๊ธฐ๋Šฅ์„ ์„ค์ •.

๋Œ€๋ถ€๋ถ„์˜ ๋ชจ๋ฐ”์ผ ์›น ์‚ฌ์ดํŠธ์˜ ๋ทฐํฌํŠธ ์„ค์ •

<meta name="viewport" content="width=device-width, initial-scale=1.0">

0๊ฐœ์˜ ๋Œ“๊ธ€