๐จ Frontend/HTML & CSS
CSS โง ๋ฐ์ํ ์น๊ณผ ๋ฏธ๋์ด ์ฟผ๋ฆฌ
kongmi
2023. 3. 20. 19:54
๋ฐ์ํ ์น ๋์์ธ
- ๋ค์ํ ํฌ๊ธฐ์ ๋๋ฐ์ด์ค์์ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ํ ๋์์ธ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค.
- ๊ทธ๋ฆฌ๋ ๋ ์ด์์, ํ๋ ์ค ๋ฐ์ค, ๋ฏธ๋์ด ์ฟผ๋ฆฌ ๋ฑ์ CSS ๊ธฐ์ ์ ์ฌ์ฉํฉ๋๋ค.
๋ฏธ๋์ด ์ฟผ๋ฆฌ
- ์ฌ์ดํธ์ ์ ์ํ๋ ๋ฏธ๋์ด ํ์ ๊ณผ ํน์ง, ํด์๋์ ๋ฐ๋ผ ๋ค๋ฅธ ์คํ์ผ ์์ฑ์ ์ ์ฉํ๋ ๊ธฐ์
๋ทฐํฌํธ
- ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ์น ํ์ด์ง๋ฅผ ๋ณผ ๋, ์ค์ ํ๋ฉด์ ๋ณด์ด๋ ์์ญ์ ๋งํฉ๋๋ค.
- ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์๋ ๋ทฐํฌํธ๊ฐ ๋ค์ํ ํฌ๊ธฐ๋ก ๋ํ๋ ์ ์์ผ๋ฏ๋ก, ์น ํ์ด์ง๊ฐ ๋ค์ํ ๋ทฐํฌํธ ํฌ๊ธฐ์ ๋์ํ ์ ์๋๋ก ๋ฐ์ํ ์น ๋์์ธ์ ๊ตฌํํด์ผ ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ทฐํฌํธ๊ฐ ์ค์ ๋์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ทฐํฌํธ์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅผ ์ ์์ผ๋ฏ๋ก, ๋ทฐํฌํธ๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
โ VS Code์์ ๋ง๋๋ ๊ธฐ๋ณธ ์ค์ ์ด์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํน์ฑ ์ ๋๋ค.
โ html ๋ฌธ์์ ๋๋น๋ฅผ ๊ธฐ๊ธฐ์ ๋๋น๋ก ์ค์ ํ๋ผ๋ ์๋ฏธ์ด๋ฉฐ, ์ด ๊ฐ ๋๋ฌธ์ ์ด๋ค ๊ธฐ๊ธฐ๋ก ์ ์ํ๋๋ผ๋ ๋ทฐํฌํธ๋ ์ ์ํ ๊ธฐ๊ธฐ์ ํด์๋๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ธ์ ํฉ๋๋ค.
๋ทฐํฌํธ ๋จ์
- vw(viewport width) : ๋ทฐํฌํธ ๋๋น์ 1%
- vh(viewport height) : ๋ทฐํฌํธ ๋์ด์ 1%
- vmin(viewport minimum) : ๋ทฐํฌํธ ๋๋น์ ๋์ด ์ค ์์ ๊ฐ์ 1%
- vmax(viewport maximum) : ๋ทฐํฌํธ ๋๋น์ ๋์ด ์ค ํฐ ๊ฐ์ 1%
๋ทฐํฌํธ ํฌ๊ธฐ์ ๋ฐ๋ผ ํฐํธ ์ฌ์ด์ฆ ๋ณ๊ฒฝ
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>viewport units</title>
<style>
h1{
font-size:5vw;
text-align:center;
}
</style>
</head>
<body>
<h1>์๋
ํ์ธ์?</h1>
</body>
</html>
๋ฏธ๋์ด ์ฟผ๋ฆฌ์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
@media only screen and (min-width:360px) and (max-width:720px) {
/* CSS ์ฝ๋ */
}
not / only
- not : ๋ค์ ์ค๋ ๋ชจ๋ ์กฐ๊ฑด์ ๋ถ์
- only : ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ง์ํ๋ ๊ธฐ๊ธฐ๋ง ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ํด์ํ๋ผ๋ ์๋ฏธ
mediatype
๋ฏธ๋์ด ์ฟผ๋ฆฌ๊ฐ ์ ์ฉ๋ ๋ฏธ๋์ด ํ์ ์ ๋ช ์, ์๋ตํ๋ฉด all๋ก ์ธ์ ํฉ๋๋ค.
media feature
๋ฏธ๋์ด ์ฟผ๋ฆฌ๊ฐ ์ ์ฉ๋ ๋ฏธ๋์ด ์กฐ๊ฑด์ ์ ์ต๋๋ค.
๋ทฐํฌํธ ์ ์ฉ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
width: 100px;
height: 100px;
background-color: red;
}
@media only screen and (max-width: 500px) {
div {
background-color: blue;
}
}
</style>
</head>
<body>
<div></div>
</body>
</html>