실무에 바로 적용할 수 있는 웹 제작 꿀팁 및 유용한 자료실 공간입니다.
나눔웹이 제공하는 핵심 노하우와 마케팅 인사이트를 자유롭게 활용해 보십시오.

나눔웹 모바일 꿀팁

모바일 viewport 설정법, 화면이 작게 보이거나 확대가 막혔을 때 점검할 것

반응형으로 만들었는데 휴대폰에서 글씨가 깨알같이 작게 보이거나, 반대로 손가락으로 벌려도 확대가 안 된다는 문의를 종종 받습니다.
둘 다 대부분 viewport 메타 태그 한 줄에서 시작됩니다. 권장 설정과 함께, 확대 막기 옵션을 쓰면 안 되는 이유를 정리했습니다.

💡 viewport 태그가 없으면 어떻게 될까요?

모바일 브라우저는 viewport 지정이 없으면 PC 사이트라고 가정하고 약 980px 폭으로 그린 뒤 화면에 맞게 축소해서 보여 줍니다. 그래서 미디어쿼리를 아무리 잘 짜 놔도 모바일 스타일이 적용되지 않고, 전체가 작게 쪼그라든 화면이 나옵니다.

1. 기본은 width=device-width, initial-scale=1

<head> 안에 아래 한 줄을 넣으면 화면 폭을 기기 폭에 맞추고 처음 배율을 1로 시작합니다. 오래된 사이트를 리뉴얼하다 보면 width=480처럼 숫자를 박아 둔 경우가 있는데, 이러면 360~390px 폭 휴대폰에서 페이지가 실제보다 넓게 잡혀 축소되어 보이거나 옆으로 밀립니다. 저희도 실제 리뉴얼 현장에서 이 한 줄을 고치는 것만으로 모바일 레이아웃 문제가 한꺼번에 풀린 적이 있습니다.

<!-- 권장: 이 한 줄이면 충분합니다 -->
<meta name="viewport"
  content="width=device-width, initial-scale=1">

<!-- 피하세요: 고정 폭 -->
<meta name="viewport" content="width=480">

2. user-scalable=no는 넣지 않는 것이 맞습니다

디자인이 흐트러지는 게 싫어서 확대를 막는 옵션을 넣는 경우가 많습니다. 하지만 작은 글씨를 키워 봐야 하는 어르신이나 시력이 약한 분들에게는 사이트를 못 쓰게 만드는 설정입니다. 웹 접근성 지침(WCAG)에서도 확대 차단을 문제로 보고, Lighthouse 접근성 검사에서도 감점 항목입니다. 게다가 아이폰 사파리는 iOS 10부터 이 값을 기본적으로 무시하기 때문에, 안드로이드에서만 확대가 막히는 어정쩡한 상태가 됩니다.

<!-- 확대를 막는 설정 (권장하지 않음) -->
<meta name="viewport" content="width=device-width,
  initial-scale=1, maximum-scale=1, user-scalable=no">

3. 막고 싶었던 진짜 문제는 따로 해결

확대 차단을 넣는 이유를 들어 보면 대개 두 가지입니다. 버튼을 빠르게 두 번 누르면 화면이 확대되는 문제와, 아이폰에서 입력창을 누르면 자동으로 확대되는 문제입니다. 앞의 것은 touch-action: manipulation으로 더블탭 확대만 끌 수 있고, 핀치 확대는 그대로 살아 있습니다. 뒤의 것은 입력창 글자 크기를 16px 이상으로 주면 생기지 않습니다.

/* 버튼 연타 시 더블탭 확대만 막고 싶을 때 */
button, .btn, a {
  touch-action: manipulation;
}

/* 아이폰 입력창 자동 확대는 글자 크기로 해결 */
input, select, textarea {
  font-size: 16px;
}

"확대는 막는 기능이 아니라 남겨 둬야 하는 기능입니다."

나눔웹은 리뉴얼할 때 viewport부터 확인하고
실제 휴대폰으로 확대와 입력까지 직접 눌러 보고 납품합니다.


List of Articles
번호 분류 제목 글쓴이
14 모바일 모바일 키보드가 입력창을 가릴 때, visualViewport로 화면 맞추는 법 나눔웹
13 모바일 모바일 브라우저 상단바 색 맞추기, theme-color 메타 태그 쓰는 법 나눔웹
12 모바일 모바일 100vh 잘림, dvh·svh로 주소창 높이까지 맞추는 법 나눔웹
11 모바일 아이폰에서 숫자가 파란 전화 링크로 바뀔 때, format-detection으로 막는 법 나눔웹
10 모바일 모바일 가로 스크롤이 생길 때, 화면 밖으로 튀어나온 요소 찾아 고치는 순서 나눔웹
» 모바일 모바일 viewport 설정법, 화면이 작게 보이거나 확대가 막혔을 때 점검할 것 나눔웹
8 모바일 모바일 hover 색상이 눌린 채 남을 때, @media (hover)로 해결하기 나눔웹
7 모바일 모바일 문의 폼 자동완성이 안 뜬다면? autocomplete 값과 인증번호 자동 입력 나눔웹
6 모바일 앗, 실수로 새로고침! 튕기는 모바일 화면 꽉 잡는 법 (Overscroll) 나눔웹
5 모바일 하단 고정 버튼이 아이폰 '검은 줄'에 겹친다면? (Safe Area 대응법) 나눔웹
4 모바일 모바일 웹을 진짜 '앱(App)'처럼! 이미지 꾹 누를 때 뜨는 팝업 막기 나눔웹
3 모바일 아이폰에서 입력창 누를 때 화면 '자동 확대'되는 현상 막는 법 나눔웹
2 모바일 고객의 이탈을 막는 1초 디테일, '모바일 맞춤형 키보드' 세팅법 나눔웹
1 모바일 모바일 꽉 찬 화면 하단 짤림 현상! '100vh'의 함정과 완벽 해결법 나눔웹
Board Pagination Prev 1 Next
/ 1
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4