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

[CSS] ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ํ™œ์šฉํ•˜๊ธฐ

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 8. 14.
๋ฐ˜์‘ํ˜•

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

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


01. <link ~ media="">

<link rel="stylesheet" media="all and (min-width: 1000px)" href="style_pc.css">

์ตœ์†Œ ๊ฐ€๋กœํญ์ด 1000px, ์ฆ‰ 1000px๋ณด๋‹ค ๋„“์€ ํ•ด์ƒ๋„์ผ ๋•Œ style_pc.css๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

ํƒœ๋ธ”๋ฆฟ์ด๋‚˜ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋งˆ๋‹ค ๊ฐ€๋กœํญ์€ ๋‹ค๋ฅด๋ฉฐ Chrome์˜ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์˜ Toggle device toolbar๋ฅผ ๋ˆ„๋ฅด๋ฉด ๊ธฐ๊ธฐ๋งˆ๋‹ค์˜ ํ•ด์ƒ๋„๊ฐ€ ๋“ฑ๋ก๋˜์–ด ์žˆ๊ณ  ๊ธฐ๊ธฐ ๋ชจ๋ธ ์ถ”๊ฐ€๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.


๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๋ณ„ ํ•ด์ƒ๋„

๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ ๊ฐ€๋กœ ์„ธ๋กœ
iPhone X 375 812
iPhone 6, 7, 8 375 667
iPhone 6, 7, 8 plus 414 736
iPhone 5 320 568
Galaxy S5, S8 360 640
Galaxy Note 8 360 640
iPad Pro 1024 1366
.
.
.
.
.
.
.
.
.

02. @media

์ฒ˜์Œ ๋กœ๋”ฉ ์‹œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜์ง€ ์•Š๋„๋ก CSS ํŒŒ์ผ์„ ํ•˜๋‚˜๋กœ ๋งŒ๋“ค์–ด์„œ CSS ๋‚ด๋ถ€์—์„œ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ถ„๊ธฐ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ์˜ ๋ฐ˜์‘ํ˜•์›น CSS์ด๋‹ค.


@media all and (min-width: 1000px) {
    /* ๋ชจ๋“  ๊ธฐ๊ธฐ์—์„œ ํ•ด์ƒ๋„๊ฐ€ ์ตœ์†Œ 1000px ์ธ ๊ฒจ์šฐ ์ ์šฉํ•  ์†์„ฑ๋“คโ€ฆ */
}

all์€ Media Type์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ and ์ „, ํ›„์— ๋„์–ด์“ฐ๋„๋ก ํ•œ๋‹ค.


๋ฏธ๋””์–ด ํƒ€์ž… ์ข…๋ฅ˜

Media Type ์„ค๋ช…
all ๋ชจ๋“  ๋ฏธ๋””์–ด ์žฅ์น˜์— ์‚ฌ์šฉ (๊ธฐ๋ณธ๊ฐ’)
print ํ”„๋ฆฐํ„ฐ์— ์‚ฌ์šฉ
screen PC, ํƒœ๋ธ”๋ฆฟ, ์Šค๋งˆํŠธํฐ์— ์‚ฌ์šฉ
speech ์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ธฐ๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์ฝ๋Š”๋ฐ ์‚ฌ์šฉ

์˜ˆ์‹œ 01)

body { color: red; }

@media only screen and (max-width:768px) {
    body { color: blue; }
}

์œ„ ๊ตฌ๋ฌธ์€ ์›๋ž˜ ๊ธ€์ž์ƒ‰์ด ๋นจ๊ฐ„์ƒ‰์ด์ง€๋งŒ ํ™”๋ฉด์ด 768px๋ณด๋‹ค ์ž‘์•„์กŒ์„ ๋•Œ๋Š” ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค๋Š” ๋œป์ž„.
PC์—์„œ๋Š” ๋นจ๊ฐ„์ƒ‰, ๋ชจ๋ฐ”์ผ์—์„œ๋Š” ํŒŒ๋ž€์ƒ‰์œผ๋กœ ๋‚˜ํƒ€๋‚จ.


์˜ˆ์‹œ 02)

body {
    color: blue;    
}

@media only screen and (max-width:768px) {
    body {
        color: red;
    }
}

์œ„ ๊ตฌ๋ฌธ์€ ์›๋ž˜ ๊ธ€์ž๋Š” ํŒŒ๋ž€์ƒ‰์ธ๋ฐ 768px๋ณด๋‹ค ํ™”๋ฉด์ด ์ปค์ง€๋ฉด ๊ธ€์ž์ƒ‰์„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ๋ณ€๊ฒฝํ•จ.


์˜ˆ์‹œ 03)

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ ˆ์ด์•„์›ƒ์„ ์ œ๊ณต ๊ฐ€๋Šฅ

@media only screen and (oreientation: portrait) {
    body { background: skyblue; }
}

์œ„ ๊ตฌ๋ฌธ์€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๊ฐ€ ์„ธ๋กœ๋ฐฉํ–ฅ์ด ๋˜๋ฉด ๋ฐฐ๊ฒฝ์ƒ‰์„ ํ•˜๋Š˜์ƒ‰์œผ๋กœ ์ง€์ •ํ•œ๋‹ค๋Š” ๋œป.


์˜ˆ์‹œ 04)

@media only screen and (oreientation: landscape) {
    body { background: lightgreen; }
}

์œ„ ๊ตฌ๋ฌธ์€ ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ๊ฐ€ ๊ฐ€๋กœ๋ฐฉํ–ฅ์ด ๋˜๋ฉด, ๋ฐฐ๊ฒฝ์ƒ‰์„ ์—ฐ๋‘์ƒ‰์œผ๋กœ ์ง€์ •ํ•œ๋‹ค๋Š” ๋œป.


์˜ˆ์‹œ 05)

์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋‹ค.

@media only screen and (max-width: 900px) and (min-width: 600px), (min-width: 1000px) {
    body { color: red; }
}

์œ„ ๊ตฌ๋ฌธ์€ ๊ฐ€๋กœ๊ฐ€ 600px ์—์„œ 900px ์‚ฌ์ด์ผ ๋•Œ, ๊ทธ๋ฆฌ๊ณ  1100px ์ด์ƒ์ผ ๋•Œ์—๋งŒ ๊ธ€์ž์ƒ‰์„ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ง€์ •ํ•œ๋‹ค๋Š” ๋œป.


์‹ค์Šต

Figma๋กœ ๋งŒ๋“  ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ, PC ๋ ˆ์ด์•„์›ƒ 3๊ฐ€์ง€๋ฅผ HTML๊ณผ CSS & ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๋งŒ๋“ค์–ด๋ณด๋„๋ก ํ•˜์ž.
HTML, CSS ์†Œ์Šค๋Š” ์ฝ”๋“œํŽœ์„ ์ฐธ์กฐํ•  ๊ฒƒ.


๋ ˆ์ด์•„์›ƒ ๊ณ„ํš


์ฝ”๋”ฉ & ๊ฒฐ๊ณผ

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.