본문 바로가기

웹&앱

[웹,앱] 반응형 웹과 미디어쿼리

PC보다 스마트폰으로 정보를 얻는게 많아진 최근에는 일반 웹보다 반응형웹을 선호하는 곳이 많아졌습니다.

그리고 PC보다 작고 모바일보다 큰 테블릿을 활용하는 경우도 많아졌습니다

 

반응형웹(Responsive Web)이란?

: 다양한 디바이스 화면 크기에 따라 변해 사용자의 편의성에 맞춘 웹입니다.

삼성 반응형

 

 

뷰포트(ViewPort)

HTML의 <head></head>안에 들어가는 meta태그에 너비와 높이, 확대/축소 설정할 수 있습니다.

 

뷰포트 구조

</meta name="viewport" conetent="width-device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
  • width : 너비
  • height : 높이
  • initial-scale : 초기 배율
  • minimum-scale : 최소 축소 비율
  • maximum-scale : 최대 확대 비율 
  • user-scalable : 사용자 확대와 축소 사용 유무

 

 

미디어쿼리(Media Query)

반응형 웹을 만들기 위해서는 필수적으로 미디어쿼리를 알아야합니다.

주로 웹, 태블릿, 모바일 세가지로 구분하여 CSS에 조건을 설정합니다.

  • 모바일 해상도 320px ~ 768px
  • 태블릿 해상도  768px ~ 1024px
  • PC 해상도 1024px ~ 1920px 

미디어쿼리 구조

@media screen and (max-width: 768px) {
    body {
        background-color: lightgreen;
    }
}

@media 로 시작합니다.

다음 미디어 유형을 선택하여 넣습니다.

    - all : 모든 매체

    - screen : 컴퓨터, 탬블릿, 모바일 모든 스크린

    - print : 프린트 기기

    - speech : 스크린 리더

다음 and / not / only 를 골라 넣습니다.

다음 조건문(해상도)를 넣습니다 max-widthmin-width로 최대/최소 넓이를 적어줍니다.

조건문은 하나 혹은 여러개를 넣을 수 있습니다.

ex) @media screen and (min-width:320px) and (max-width: 768px)

 

 

그 외 필요한 요소

CSS에 요소를 주로 px로 지정하지만 반응형시 %, rem, em, vw, vh 단위를 사용합니다.

 

rem, em

: 폰트 사이즈가 화면 사이즈에 맞게 유동적으로 바뀌는 단위입니다.

em은 사용요소에 따라 사이즈가 바뀌고, rem은 최상위 요소(HTML)에 따라 사이즈가 변합니다.

 

vw(vertical width), vh(vertical height)

: 뷰포트의 너비값과 높이값을 가져옵니다.

들어가는 컨텐츠가 적은곳도 많은곳도 동일하게 화면을 꽉 채울 수 있습니다.