반응형 웹을 구현하는 CSS Technique이며, 사용자의 디바이스에 따라 각각 다른 스타일시트를 적용하게 하는 것.
이번 글에서는 사용자의 환경에 따라 각각 다른 스타일시트를 적용시킬수 있는 media-query에 대해 배워보도록 하겠습니다.
스타일 시트 파일을 분기하여 마크업에서 화면 렌더링 시 조건에 맞는 CSS파일을 불러오는 방법입니다.
사용자의 스크린 width가 480미만일 때 CSS파일을 가져와 적용시킨다.
media="screen and (max-width:480px)
<link rel="stylesheet" media="screen and (max-width:480px)" href="example.css">
<style>태그내에서 media-query를 사용하는 방법으로 style 태그 내에서 조건에 맞을 경우 css를 로딩할수 있습니다.
<style type="text/css" media="screen and (max-width:480px)">
.h2 {color:#ccc;}
</style>
CSS내에서 @media
를 사용해 조건이 맞으면 CSS파일을 적용시킵니다.
@media only screen and (max-width: 480px) {
body {
background-color: red;
}
}
media-query 작성법
@media only|not 미디어유형 and| (조건문width:500px){적용할CSS}
미디어 유형 (생략시 default 값은 all)
all 모든장치
screen 컴퓨터 화면 또는 스마트 기기 화면
tv 영상과 음성이 함께 출력되는 장치
projection 프로젝터 장치
speech 음성 출력 장치
width 웹페이지 가로 너비
height 웹페이지 세로 높이
device-width 기기의 가로 너비
device-height 기기의 세로 높이
orientation 기기의 화면방향 (portrait:세로,landscape:가로)
aspect-ratio 화면 비율
scan TV의 스캔 방식
grid 기기의 그리드/비트맵