본문 바로가기
CSS

12. 반응형 웹

by 몽이코딩 2024. 4. 29.
반응형

반응형 웹 사이트란?

웹 사이트에서 PC화면 뿐만 아니라 모바일, 태블릿, 노트북 등 여러가지 디바이스의 해상도에 반응하여 각각에 맞는 최적의 화면을 보여주는 홈페이지 입니다.

 

 

뷰포트(viewport)

뷰포트란 웹 브라우저에서 실제 내용이 표시되는 영역입니다. 모바일 viewport와 PC의 viewport는 그 크기가 다릅니다. 그렇기 때문에 반응형 웹 에서는 viewport에 맞게 화면을 보여줘야 할 필요가 있습니다.

이럴때 사용하는 메타태그가 뷰포트 메타태그 입니다.

 

 

메타 뷰포트 태그 지정하는 법

<meta name="viewport" content="속성1=값1, 속성2=값2 ......">

 

 

메타 뷰포트 태그 속성

  • width - 뷰포트 가로
  • height - 뷰포트 세로
  • user-scalable - 사용자 확대/축소 가능 여부
  • initial-scale - 초기 화면 비율
  • maximum-scale - 최대 화면 비율
  • minimum-scale - 최소 화면 비율

 

일반적인 사용법

뷰포트의 너비를 디바이스(스마트폰) 화면 너비에 맞추고 초기화면 배율을 1로 지정합니다.

예) <meta name="viewport" content="width=device-width, initial-scale=1">

 

 

뷰포트 단위

  • vw - 뷰포트 너비. 100vw = 뷰포트 width 의 100%
  • vh - 뷰포트 높이. 100vh = 뷰포트 height 의 100%
  • vmin - 뷰포트의 너비와 높이 중에서 작은 값.
  • vmax - 뷰포트의 너비와 높이 중에서 큰 값.

 

미디어 쿼리

접속하는 디바이스나 뷰포트에 따라 특정 CSS 스타일을 사용하는 방법입니다.

 

 

미디어 쿼리 문법

  • 기본형 - @media [only | not] 미디어 유형 [and 조건] * [and 조건]
  • only - 미디어쿼리를 지원하지 않는 웹 브라우저에서는 미디어 쿼리를 무시하고 실행하지 않습니다.
  • not : not 다음에 지정하는 미디어 유형을 제외합니다.
  • and : 조건을 여러개 연결해서 추가할 수 있습니다.
  • 예) @media screen and (min-width: 768px) and (max-width: 1439px)

 

미디어 유형

  • all - 모든 장치에 적합합니다.
  • print - 인쇄 결과물 및 출력 미리보기 화면에 표시 중인 문서입니다.
  • screen - 주로 화면이 대상입니다.
  • speech - 음성 합성장치 대상입니다.

 

미디어쿼리 조건

  • min-width - 웹 뷰포트의 최소 너비입니다.
  • max-width - 웹 뷰포트의 최대 너비입니다.

 

 

 


실습

<!-- HTML -->
<div class="view"></div>
/* CSS */
.view {
/* background-color: green; */
  width: 50vw;
  height: 50vh;
/* width: 50vmin;
  height: 50vmax; */
}

@media (max-width: 500px) {
  .view {
    background-color: green;
  }
}
@media (min-width: 501px) and (max-width: 1000px) {
  .view {
    background-color: blue;
  }
}
@media (min-width: 1001px) {
  .view {
    background-color: yellow;
  }
}
반응형

'CSS' 카테고리의 다른 글

11. Flexbox  (0) 2024.04.29
10. Transform, Transition  (0) 2024.04.25
9. 표(table)  (0) 2024.04.24
8. Position  (0) 2024.04.23
7. Float  (0) 2024.04.19