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
์ฌ๊ธฐ ๊ฐ๋ฉด ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๋๋ฐ ํ์ํ ๋ทฐ ํฌํธ์ ํฌ๊ธฐ๊ฐ์ด ์ ๋ฆฌ๋ ์ฌ์ดํธ๋ฅผ ๋ณผ ์ ์๋ค.
4. ๋ฏธ๋์ด ์ฟผ๋ฆฌ ์ ์ฉํ๊ธฐ
1๏ธโฃ ์ธ๋ถ CSS ํ์ผ ์ฐ๊ฒฐํ๊ธฐ
<link rel = "stylesheet" media = "๋ฏธ๋์ด ์ฟผ๋ฆฌ ์กฐ๊ฑด" href = "css ํ์ผ ๊ฒฝ๋ก" >
@import url (css ํ์ผ ๊ฒฝ๋ก) ๋ฏธ๋์ด ์ฟผ๋ฆฌ ์กฐ๊ฑด
-> CSS ํ์ผ์ด ๋ง๊ณ ๊ท๋ชจ๊ฐ ํฐ ์ฌ์ดํธ๋ฅผ ๊ฐ๋ฐํ๋ค๋ฉด <link> ํ๊ทธ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
2๏ธโฃ ์น ๋ฌธ์์ ์ง์ ์ ์ํ๊ธฐ
<style media = "<์กฐ๊ฑด>" {
<์คํ์ผ ๊ท์น >
}
</style>
<style>
@media <์กฐ๊ฑด> {
<์คํ์ผ ๊ท์น>
}
</style>