2021. 10. 17. 12:42ใHTML + CSS + JS
1. ๋ฐ์ํ ์น
๋ฐ์ํ ์น ๋์์ธ์ ์น ์์๋ฅผ ํ๋ฉด ํฌ๊ธฐ์ ๋ง๊ฒ ์ฌ๋ฐฐ์นํ๊ณ ๊ฐ ์์์ ํ์ ๋ฐฉ๋ฒ๋ง ๋ฐ๊พธ์ด ์ฌ์ดํธ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด๋ค.
2. ๋ทฐํฌํธ
๋ทฐํฌํธ viewport ๋ ์ค๋งํธํฐ ํ๋ฉด์์ ์ค์ ๋ด์ฉ์ด ํ์๋๋ ์์ญ์ด๋ค.
๋ทฐํฌํธ๋ <head> ํ๊ทธ ์ฌ์ด์ <meta> ํ๊ทธ๋ฅผ ์ฌ์ฉํด์ ์์ฑํ๋ค.
<meta name = "viewport" content ="์์ฑ1= ๊ฐ1",..>

๋ทฐํฌํธ ๋จ์
1๏ธโฃ vw(viewport width) : 1vw๋ ๋ทฐํฌํธ ๋๋น์ 1%
2๏ธโฃ vh(viewport height) : 1vh๋ ๋ทฐํฌํธ ๋์ด์ 1%
3๏ธโฃ vmin (viewport minimum) : ๋ทฐํฌํธ ๋๋น์ ๋์ด ์ค์์ ์์ ๊ฐ์ 1%
4๏ธโฃ vmax (viewport maximum) : ๋ทฐํฌํธ ๋๋น์ ๋์ด ์ค์์ ํฐ ๊ฐ์ 1%
3. ๋ฏธ๋์ด์ฟผ๋ฆฌ
CSS๋ชจ๋์ธ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ ์ฌ์ดํธ์ ์ ์ํ๋ ์ฅ์น์ ๋ฐ๋ผ ํน์ ํ CSS ์คํ์ผ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ํ๋ ๊ธฐ๊ธฐ์ ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ ์ด์์์ด ๋ฌ๋ผ์ง๋ค.
์ฆ ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฏธ๋์ด๋ฅผ ์ฌ์ฉํ๋๊ฐ์ ๋ฐ๋ผ ์ฌ์ดํธ์ ํํ๊ฐ ๋ฐ๋๋๋ก CSS๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ผ๊ณ ํ๋ค.
@media [only | not] ๋ฏธ๋์ด ์ ํ [and ์กฐ๊ฑด] * [and ์กฐ๊ฑด]
-> only : ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ง์ํ์ง ์๋ ์น ๋ธ๋ผ์ฐ์ ๋ ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ๋ฌด์ํ๊ณ ์คํํ์ง ์๋๋ค.
-> not : ๋ค์์ ์ง์ ํ๋ ๋ฏธ๋์ด ์ ํ์ ์ ์ธํ๋ค.

1๏ธโฃ ๋ฏธ๋์ด ์ ํ์ ์ข ๋ฅ
all : ๋ชจ๋ ๋ฏธ๋์ด ์ ํ์์ ์ฌ์ฉํ css๋ฅผ ์ ์ํ๋ค.
print : ์ธ์์ฅ์น์์ ์ฌ์ฉํ css๋ฅผ ์ ์ํ๋ค.
screen : ์ปดํจํฐ ์คํฌ๋ฆฐ์์ ์ฌ์ฉํ css๋ฅผ ์ ์ํ๊ณ , ์ค๋งํธํฐ ์คํฌ๋ฆฐ๋ ํฌํจ๋๋ค.
tv : ์์ฑ๊ณผ ์์์ด ๋์์ ์ถ๋ ฅ๋๋ tv์์ ์ฌ์ฉํ css๋ฅผ ์ ์ํ๋ค.
aural : ์์ฑ ํฉ์ฑ ์ฅ์น์์ ์ฌ์ฉํ css๋ฅผ ์ ์ํ๋ค.
braile : ์ ์ ํ์ ์ฅ์น์์ ์ฌ์ฉํ css๋ฅผ ์ ์ํ๋ค.
handheld : ํจ๋์ฒ๋ผ ์์์ ๋ค๊ณ ๋ค๋๋ ์ฅ์น๋ฅผ ์ํ css ๋ฅผ ์ ์ํ๋ค.
projection : ํ๋ก์ ํฐ๋ฅผ ์ํ css๋ฅผ ์ ์ํ๋ค.
try : ๋์คํ๋ ์ด ๊ธฐ๋ฅ์ด ์ ํ๋ ์ฅ์น์ ๋ง๋ css๋ฅผ ์ ์ํ๋ค.
embossed : ์ ์ ํ๋ฆฐํฐ์์ ์ฌ์ฉํ css๋ฅผ ์ ์ํ๋ค.
2๏ธโฃ ์น ๋ฌธ์์ ๊ฐ๋ก๋๋น์ ์ธ๋ก ๋์ด ์ง์
width, height : ์น ํ์ด์ง์ ๊ฐ๋ก ๋๋น, ์ธ๋ก ๋์ด๋ฅผ ์ง์ ํ๋ค.
min-width, min-height : ์น ํ์ด์ง์ ์ต์ ๋๋น, ์ต์ ๋์ด๋ฅผ ์ง์ ํ๋ค.
max-width, max-height: ์น ํ์ด์ง์ ์ต๋ ๋๋น, ์ต๋ ๋์ด๋ฅผ ์ง์ ํ๋ค.
3๏ธโฃ ๋จ๋ง๊ธฐ์ ๊ฐ๋ก ๋๋น์ ์ธ๋ก ๋์ด ์ง์
device-width, device-height : ๋จ๋ง๊ธฐ์ ๊ฐ๋ก ๋๋น, ์ธ๋ก ๋์ด๋ฅผ ์ง์ ํ๋ค.
min-device-width, min-deivce-height : ๋จ๋ง๊ธฐ์ ์ต์ ๋๋น, ์ต์ ๋์ด๋ฅผ ์ง์ ํ๋ค.
max-device-width, max-device-height : ๋จ๋ง๊ธฐ์ ์ต๋ ๋๋น, ์ต๋ ๋์ด๋ฅผ ์ง์ ํ๋ค.
4๏ธโฃ ํ๋ฉด ํ์ ์์ฑ
orientation ์์ฑ์ ์ฌ์ฉํ๋ฉด ๊ธฐ๊ธฐ์ ๋ฐฉํฅ์ ํ์ธํ ์ ์๋ค.
orientation : portrait ๋จ๋ง๊ธฐ์ ์ธ๋ก ๋ชจ๋๋ฅผ ์ง์ ํ๋ค.
orientation : landscape ๋จ๋ง๊ธฐ์ ๊ฐ๋ก ๋ชจ๋๋ฅผ ์ง์ ํ๋ค.
5๏ธโฃ ๋ฏธ๋์ด ์ฟผ๋ฆฌ์ ์ค๋จ์
๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ ๋ ํ๋ฉด ํฌ๊ธฐ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ css๋ฅผ ์ ์ฉํ ๋ถ๊ธฐ์ ์ ์ค๋จ์ ์ด๋ผ๊ณ ํ๋ค.
๋๋ถ๋ถ ๊ธฐ๊ธฐ์ ํ๋ฉด ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ค,
๋ฐ์คํฌํฑ : ํ๋ฉด ํฌ๊ธฐ๊ฐ 1024px ์ด์์ด๋ฉด ๋ฐ์คํฌํฑ์ผ๋ก ์ค์ ํ๋ค.
ํ๋ธ๋ฆฟ : ํ๋ฉด ํฌ๊ธฐ๊ฐ 768px ์ด์์ด๋ฉด ํ๋ธ๋ฆฟ์ผ๋ก ์ง์ ํ๋ค.
https://yesviz.com/devices.php
Viewport Size, Resolution, Screen Sizes, CSS PPI and CSS media queries for popular Devices | YesViz
A Useful database contains Viewport Size, Resolution, Screen Sizes, CSS PPI and CSS media queries for popular devices including phones, tablets, smart watches and laptops.
yesviz.com
์ฌ๊ธฐ ๊ฐ๋ฉด ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋๋ฐ ํ์ํ ๋ทฐ ํฌํธ์ ํฌ๊ธฐ๊ฐ์ด ์ ๋ฆฌ๋ ์ฌ์ดํธ๋ฅผ ๋ณผ ์ ์๋ค.
4. ๋ฏธ๋์ด ์ฟผ๋ฆฌ ์ ์ฉํ๊ธฐ
1๏ธโฃ ์ธ๋ถ CSS ํ์ผ ์ฐ๊ฒฐํ๊ธฐ
<link rel = "stylesheet" media = "๋ฏธ๋์ด ์ฟผ๋ฆฌ ์กฐ๊ฑด" href = "css ํ์ผ ๊ฒฝ๋ก" >
@import url (css ํ์ผ ๊ฒฝ๋ก) ๋ฏธ๋์ด ์ฟผ๋ฆฌ ์กฐ๊ฑด
-> CSS ํ์ผ์ด ๋ง๊ณ ๊ท๋ชจ๊ฐ ํฐ ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๋ค๋ฉด <link> ํ๊ทธ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
2๏ธโฃ ์น ๋ฌธ์์ ์ง์ ์ ์ํ๊ธฐ
<style media = "<์กฐ๊ฑด>" {
<์คํ์ผ ๊ท์น >
}
</style>
<style>
@media <์กฐ๊ฑด> {
<์คํ์ผ ๊ท์น>
}
</style>
