Programming

; develop a program

Front-End/HTML & CSS

[CSS] 뷰포트(ViewPort)

Clloud_ 2023. 7. 3. 23:57
반응형

이번 포스팅에서는 화면 Display상의 표시 영역을 뜻하는 뷰포트(ViewPort)에 대하여 공부를 해보고자 한다.

 


 

뷰포트(ViewPort)란

Viewport는 웹 페이지의 가시 영역을 의미하는 용어로, 사용자가 웹 페이지를 볼 수 있는 실제 화면 영역을 말한다.
브라우저는 웹 페이지를 렌더링 할 때 이 가시 영역을 기준으로 내용을 표시하게 된다.

 


기본적으로 브라우저는 뷰포트의 너비와 높이를 디바이스의 물리적인 해상도로 설정한다.
그러나 모바일 기기와 같은 작은 화면을 갖는 디바이스에서는 웹 페이지의 전체 내용을 한 번에 보기에는 너무 작기 때문에, 브라우저는 뷰포트를 확대 또는 축소하여 더 적절한 화면 크기로 조정한다.

뷰포트는 주로 뷰포트 메타 태그를 사용하여 설정된다.
이 메타 태그는 웹 페이지의 <head> 태그 내에 위치하며, 다음과 같은 형식을 갖는다.

<meta name="viewport" content="width=device-width, initial-scale=1.0">
  • width=device-width는 뷰포트의 너비를 디바이스의 너비와 동일하게 설정하라는 의미이다.
    이를 통해 뷰포트는 디바이스의 실제 크기와 일치하게 된다. 
  • initial-scale=1.0은 페이지가 처음 로드될 때 뷰포트의 초기 축척 수준을 설정하는 것이다.
    값 1.0은 원래 크기를 나타내며, 이는 페이지를 기본 크기로 표시하도록 한다. 

 

주요한 뷰포트 속성

  • width
    • 뷰포트의 가로 너비를 지정한다.
      값을 고정 픽셀 수로 지정하거나, device-width로 설정하여 디바이스의 실제 가로 너비에 맞게 설정할 수 있다.
    • 예시: <meta name="viewport" content="width=500"> 또는 <meta name="viewport" content="width=device-width">

  • height
    • 뷰포트의 세로 높이를 지정한다.
    • 일반적으로는 높이를 고정하는 경우보다는 자동으로 조정되도록 유지한다.
    • 예시: <meta name="viewport" content="height=device-height">

  • initial-scale
    • 웹 페이지가 처음 로드될 때 뷰포트의 초기 축척 수준을 설정한다.
    • 값 1.0은 원래 크기를 의미하며, 보통은 1.0으로 설정하여 기본 크기로 표시한다.
    • 예시: <meta name="viewport" content="initial-scale=1.0">
  • minimum-scale 및 maximum-scale
    • 사용자가 확대 또는 축소할 수 있는 최소 및 최대 축척 수준을 지정한다.
    • 이를 사용하여 사용자의 확대/축소 동작을 제한할 수 있다.
    • 예시: <meta name="viewport" content="minimum-scale=0.5, maximum-scale=2.0">

  • user-scalable
    • 사용자가 확대 또는 축소할 수 있는지를 설정한다.
    • yes로 설정하면 사용자가 자유롭게 확대/축소할 수 있고, no로 설정하면 사용자의 확대/축소 동작이 비활성화된다.
    • 예시: <meta name="viewport" content="user-scalable=no">

  • viewport-fit
    • 뷰포트를 화면에 맞추는 방법을 지정한다.
    • auto, cover, contain 등의 값을 사용할 수 있으며, 주로 모바일 장치에서 사용된다.
    • 예시: <meta name="viewport" content="viewport-fit=cover">

 

이 외에도 추가적인 뷰포트 속성이 있으며, 개발자는 자신의 요구에 맞게 이러한 속성을 조합하여 사용할 수 있다.
뷰포트 설정은 웹 페이지를 다양한 디바이스에서 최적화된 방식으로 표시하기 위해 유연하게 활용된다.

뷰포트(ViewPort) 설정에는 다양한 속성이 있으며, 이를 사용하여 웹 페이지의 가시 영역을 세밀하게 제어할 수 있다.

 


뷰포트(ViewPort) 설정을 사용하는 이유

  1. 다양한 디바이스 지원
    • 현대의 웹은 다양한 디바이스에서 접근된다.
    • 모바일 기기, 태블릿, 데스크탑 등 다양한 화면 크기와 해상도를 갖는 디바이스에 대한 일관된 사용자 경험을 제공하기 위해 뷰포트 설정이 필요하다.
    • 뷰포트 설정을 통해 웹 페이지는 다양한 디바이스에 맞게 자동으로 조정되어 내용이 잘 보이고 사용자가 편리하게 이용할 수 있다. 

  2. 반응형 웹 디자인
    • 반응형 웹 디자인은 하나의 웹 페이지가 다양한 디바이스에서 적절하게 표시되도록 하는 기술이다.
    • 뷰포트 설정은 반응형 웹 디자인의 핵심 요소 중 하나로, 적절한 뷰포트 설정을 통해 웹 페이지는 디바이스의 크기에 맞춰 자동으로 조정되어 효과적인 레이아웃과 내용 배치가 가능해진다. 

  3. 줌 기능 및 확대/축소
    • 뷰포트 설정을 사용하면 사용자가 웹 페이지를 확대 또는 축소할 때도 내용이 제대로 표시된다.
    • 적절한 뷰포트 설정을 통해 웹 페이지는 확대/축소 시에도 사용자에게 적절한 크기로 표시되어 내용의 가독성과 사용자 경험을 향상한다. 
  4. 모바일 최적화
    • 모바일 장치에서 웹 페이지를 사용하는 경우, 뷰포트 설정은 특히 중요하다.
    • 모바일 장치의 작은 화면 크기와 다양한 해상도에 대응하기 위해 뷰포트 설정을 사용하여 웹 페이지를 모바일에 최적화할 수 있다.
    • 모바일 퍼스트 디자인과 함께 뷰포트 설정을 사용하면 모바일 사용자에게 최적화된 경험을 제공할 수 있다.
       
  5. 고정된 뷰포트 크기
    • 일부 경우에는 웹 페이지가 특정한 크기로 고정되어야 할 수 있다.
    • 예를 들어, 모바일 앱 내에서 웹 페이지를 사용하는 경우 웹 페이지를 앱의 일부로 표시하기 위해 고정된 뷰포트 크기가 필요할 수 있다.
    • 종합적으로, 뷰포트 설정은 다양한 디바이스에서 웹 페이지를 일관되고 최적화된 방식으로 표시하고, 사용자의 확대/축소 동작을 지원하며, 모바일 사용자에게 최적화된 경험을 제공하는 데 중요한 역할을 한다.

 


반응형

'Front-End > HTML & CSS' 카테고리의 다른 글

[CSS] Flex 컨테이너  (0) 2023.06.29
[CSS] px | em | rem  (0) 2023.05.29
[CSS] flex 태그  (0) 2023.05.29
[Front-End] HTML 입력 양식  (0) 2022.10.20
[Front-End] HTML 공간 분할  (0) 2022.10.19