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

나눔웹 모바일 꿀팁

모바일 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
번호 분류 제목 글쓴이
» 모바일 모바일 viewport 설정법, 화면이 작게 보이거나 확대가 막혔을 때 점검할 것 new 나눔웹
51 퍼블리싱 긴 URL·이메일 줄바꿈이 안 되고 박스를 뚫을 때, overflow-wrap 쓰는 법 나눔웹
50 마케팅 카톡 공유 썸네일이 예전 그대로일 때, OG 캐시 초기화로 바로 바꾸는 법 나눔웹
49 UI/UX 문의 폼 중복 접수 막는 법, 전송 버튼 연타와 새로고침 재전송 정리 나눔웹
48 웹 성능 브라우저 캐시 설정으로 재방문 속도 높이기, .htaccess 작성법 나눔웹
47 퍼블리싱 z-index 올려도 메뉴가 가려질 때, 쌓임 맥락(stacking context) 확인법 나눔웹
46 마케팅 canonical 태그 설정법, 같은 페이지가 주소 여러 개로 검색될 때 정리하는 순서 나눔웹
45 UI/UX 문의 폼 placeholder를 라벨 대신 쓰면 생기는 문제와 label 배치하는 법 나눔웹
44 마케팅 모바일 전화 문의 버튼 만들기, tel: 링크 작성법과 클릭 수 측정하는 법 나눔웹
43 퍼블리싱 이미지 아래 몇 px 여백이 생길 때, vertical-align으로 없애는 법 나눔웹
42 웹 성능 스크립트 때문에 홈페이지 첫 화면이 늦게 뜰 때, async와 defer 고르는 기준 나눔웹
41 마케팅 검색 결과에 파비콘이 안 나올 때, favicon 크기와 link 태그 점검 순서 나눔웹
40 UI/UX 모바일 버튼이 잘 안 눌린다면? 터치 영역 44px 기준과 padding으로 넓히는 법 나눔웹
39 모바일 모바일 hover 색상이 눌린 채 남을 때, @media (hover)로 해결하기 나눔웹
38 퍼블리싱 position: sticky가 안 먹힐 때, 부모 overflow부터 확인해야 하는 이유 나눔웹
37 웹 성능 메인 배경 동영상 때문에 홈페이지가 느릴 때, 용량 줄이기와 video 태그 설정 나눔웹
36 마케팅 검색 결과 설명이 엉뚱하게 나올 때, title과 meta description 쓰는 법 나눔웹
35 퍼블리싱 썸네일 이미지 찌그러짐, object-fit과 aspect-ratio로 비율 맞추는 법 나눔웹
34 모바일 모바일 문의 폼 자동완성이 안 뜬다면? autocomplete 값과 인증번호 자동 입력 나눔웹
33 UI/UX 버튼 클릭 테두리(outline), 지우지 말고 :focus-visible로 정리하는 법 나눔웹
Board Pagination Prev 1 2 3 Next
/ 3
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4