CSS 코드에서 미디쿼리 선언하기
@media Rules
@media only all and (조건문) {실행문}
@media: 미디터쿼리의 선언문이다. @media only, all, and (조건문) 사이에 공백은 필수 이다.
Media Type는 특정 미디어를 위해 특별히 제작 된 것이다. 예를 들어, “voice-family” 속성은 청각 사용자를 위해 설계된 것이다.
Note:파이어 폭스는 현재 인쇄 및 스크린 미디어 유형을 구현한다.FullerScreen 확장은 프로젝션 미디어 유형에 대한 지원을 사용할 수 있다.
@charset “utf-8″; /* All Device */ 모든 해상도를 위한 공통 코드를 작성한다. 모든 해상도에서 이 코드가 실행됨. /* Mobile Device */ 768px 미만 해상도의 모바일 기기를 위한 코드를 작성한다. 모든 해상도에서 이 코드가 실행됨. 미디어 쿼리를 지원하지 않는 모바일 기기를 위해 미디어 쿼리 구문을 사용하지 않는다. /* Tablet & Desktop Device */ @media all and (min-width:768px) { 사용자 해상도가 768px 이상일 때 이 코드가 실행됨. 테블릿과 데스크톱의 공통 코드를 작성한다. } /* Tablet Device */ @media all and (min-width:768px) and (max-width:1024px) { 사용자 해상도가 768px 이상이고 1024px 이하일 때 이 코드가 실행됨. 아이패드 또는 비교적 작은 해상도의 랩탑이나 데스크톱에 대응하는 코드를 작성한다. } /* Desktop Device */ @media all and (min-width:1025px) { 사용자 해상도가 1025px 이상일 때 이 코드가 실행됨. 1025px 이상의 랩탑 또는 데스크톱에 대응하는 코드를 작성한다. }
위의 내용을 가지고 이렇게 사용이 가능하다:
/* 스마트폰 (가로/세로) : */ @media all and (min-width : 320px) and (max-width : 480px) { /* viewport 너비가 320px 이상 '그리고' 480px이하이면 실행 */ } @media all and (min-device-width : 320px) and (max-device-width : 480px) { /* 스크린 너비가 최소 320px 이상 '그리고' 480px이하이면 실행 */ } @media all and (min-width : 320px) and (max-width : 480px) { /* viewport 너비가 320px 이상 '그리고' 480px이하이면 실행 */ /* Styles */ } @media all and(device-width:320) and(device-height:480px { /* 스크린 너비가 320px '그리고' 높이가 480px이면 실행 */ } /* 스마트폰 (가로) : */ @media all and (min-width : 321px) { /* Styles */ } /* 스마트폰 (세로) : */ @media all and (max-width : 320px) { /* Styles */ } /* iPad (가로/세로) : */ @media all and (min-device-width : 768px) and (max-device-width : 1024px) { /* Styles */ } /* iPad(가로) : */ @media all and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) { /* Styles */ } /* iPad(세로) : */ @media all and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) { /* Styles */ } /* 데스크탑 브라우저(가로) : */ @media all and (min-width : 1224px) { /* Styles */ } /* 큰 모니터 : */ @media all and (min-width : 1824px) { /* Styles */ } /* iPhone4와 같은 높은 해상도 : */ @media all and (-webkit-min-device-pixel-ratio : 1.5), all and (min-device-pixel-ratio : 1.5) { /* Styles */ }
CSS파일로 분기하기
/* 스마트폰 (가로/세로) : */ <link rel="stylesheet" href="smartphone.css" media="only screen and (min-device-width : 320px) and (max-device-width : 480px)"> /* 스마트폰 (가로) : */ <link rel="stylesheet" href="smartphone-landscape.css" media="only screen and (min-width : 321px)"> /* 스마트폰 (세로): */ <link rel="stylesheet" href="smartphone-portrait.css" media="only screen and (max-width : 320px)"> /* iPad (가로/세로) : */ <link rel="stylesheet" href="ipad.css" media="only screen and (min-device-width : 768px) and (max-device-width : 1024px)"> /* iPad (가로) : */ <link rel="stylesheet" href="ipad-landscape.css" media="only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape)"> /* iPad (세로) : */ <link rel="stylesheet" href="ipad-portrait.css" media="only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait)"> /* 데스크탑 브라우저 (가로) : */ <link rel="stylesheet" href="widescreen.css" media="only screen and (min-width : 1224px)"> /* 큰 모니터 : */ <link rel="stylesheet" href="widescreen.css" media="only screen and (min-width : 1824px)"> /* iPhone4와 같은 높은 해상도 : */ <link rel="stylesheet" href="iphone4.css" media="only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5)">
orientation
viewport의 width와 height 비율을 이용하여 세로 모드인지 가로 모드인지를 판단한다.
- Value: portrait or landscape
- Applies to: bitmap media types
- Accepts min/max prefixes: no
예를 들어:
@media all and (orientation:portrait) { /* style */ } // 세로 모드. 뷰포트의 높이가 너비에 비해 상대적으로 크면 실행 @media all and (orientation:landscape) { /* style */ } // 가로 모드. 뷰포트의 너비가 높이에 비해 상대적으로 크면 실행
color:
출력 장치의 색상에 대한 비트 수. 출력 장치가 컬러가 아닌 경우 ’0′의 값에 대응한다.
- Value:
- Applies to: visual media types
- Accepts min/max prefixes: yes
답글 남기기