728x90
반응형을 하려면 꼭 필요한 css 태그가 있다 바로 미디어 쿼리인데
@media 규칙을 이용해서 설정할 수 있다.
@media only 매체유형 and (조건문) {실행문}
-매체유형
all | 모든 매체에 사용함. |
프린터 기기에 사용함. | |
screen | 컴퓨터나 태블릿, 스마트폰 등 스크린(screen)이 있는 매체에 사용함. |
speech | 웹 페이지를 읽어주는 스크린 리더(screenreader)에 사용함. |
-미디어 쿼리(media query) 속성(조건문)
width | 화면의 너비 |
height | 화면의 높이 |
device-width | 매체 화면의 너비 |
device-height | 매체 화면의 높이 |
devie-aspect-ratio | 매체 화면의 비율 |
orientation | 매체 화면의 방향 |
color | 매체의 색상 비트 수 |
color-index | 매체에서 표현 가능한 색상의 개수 |
monochrome | 흑백 매체에서의 픽셀당 비트 수 |
resolution | 매체의 해상도 |
ex)
body { background-color: white; }
@media screen and (min-width: 640px) and (max-width:1280px) {
body { background-color: pink; }
}
가로값이 640px 이상 1280px 이하일 경우 핑크색 배경으로 바뀌는걸 볼 수 있다.
//세로 모드, 뷰포트의 높이가 너비에 비해 상대적으로 크면 실행
@media all and (orientation:portrait){
body{background:yellow}
}
//가로 모드, 뷰포트의 너비가 높이에 비해 상대적으로 크면 실행
@media all and (orientation:landscape){
body{background:yellow}
}
@media all and (aspect-ratio:5/4) { … } // 뷰포트 너비가 5, 높이가 4 비율이면 실행
@media all and (min-aspect-ratio:5/4) { … } // 뷰포트 너비가 5/4 비율 이상이면 실행
@media all and (max-aspect-ratio:5/4) { … } // 뷰포트 너비가 5/4 비율 이하면 실행
특히 height값에 따른 레이아웃변경때문에 절대적 width 수치보다 비율이 중요할때가 있는데 이렇게 세로형과 가로형을 구분지어서 모바일과 pc를 나눠줄 수도 있다. 비율값은 '너비/높이' 순으로 조건을 작성한다.
728x90
'CSS' 카테고리의 다른 글
반응형 웹 디자인의 9가지 기본 원칙 (0) | 2020.11.02 |
---|---|
[CSS] 반응형 박스설정을 위한 display : flex (0) | 2020.08.10 |
[CSS] Animation 동작효과 주기 (0) | 2020.08.06 |
[CSS Selector] ::first-letter(첫글자 선택) ::first-line(첫 줄 선택) (0) | 2020.08.06 |
[CSS Selector] ::after ::before 가상요소 선택하기 (0) | 2020.08.05 |