CSS 미디어 쿼리는 화면 크기나 해상도, 방향 같은 조건에 따라 웹페이지 스타일을 다르게 적용할 수 있는 기능이다. 주로 반응형 웹 디자인을 만들 때 사용한다. 다양한 디바이스에서 웹사이트가 잘 보이도록 할 수 있다.
미디어 쿼리는 @media라는 키워드를 사용해서 작성한다.
@media 조건 {
/* 조건에 맞는 스타일 */
}
여기서 조건은 화면 크기나 해상도 같은 것들이다. 조건이 맞으면 그 안에 있는 스타일이 적용된다.
width / height: 화면의 너비와 높이
min-width: 최소 너비max-width: 최대 너비min-height: 최소 높이max-height: 최대 높이orientation: 화면 방향
landscape: 가로 모드portrait: 세로 모드resolution: 화면 해상도
min-resolution: 최소 해상도max-resolution: 최대 해상도aspect-ratio: 화면의 가로 세로 비율
min-aspect-ratio: 최소 가로 세로 비율max-aspect-ratio: 최대 가로 세로 비율prefers-color-scheme: 시스템 색상 모드 (어두운 모드, 밝은 모드)
light: 밝은 모드dark: 어두운 모드hover: 마우스 오버 지원 여부
hover: 마우스를 올릴 수 있는지 여부no-hover: 마우스 오버가 없는 장치/* 화면 너비가 600px 이하일 때 */
@media (max-width: 600px) {
body {
background-color: lightblue;
}
}
/* 세로 모드일 때 */
@media (orientation: portrait) {
body {
background-color: lightgreen;
}
}
/* 가로 모드일 때 */
@media (orientation: landscape) {
body {
background-color: lightcoral;
}
}
/* 다크 모드일 때 */
@media (prefers-color-scheme: dark) {
body {
background-color: #333;
color: white;
}
}
/* 화면 너비가 768px 이상이면서 다크 모드일 때 */
@media (min-width: 768px) and (prefers-color-scheme: dark) {
body {
background-color: #444;
color: white;
}
}
min-width와 max-width를 조합하면 화면 크기에 맞춰 스타일을 다르게 적용할 수 있다. 예를 들어, min-width는 화면 크기가 특정 크기 이상일 때, max-width는 특정 크기 이하일 때 스타일을 적용한다.미디어 쿼리를 잘 활용하면 여러 디바이스에서 잘 작동하는 웹사이트를 만들 수 있다.