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

나눔웹 모바일 꿀팁

모바일 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
번호 분류 제목 글쓴이
52 웹 성능 홈페이지 로딩 속도를 3배 높이는 '이미지 최적화' 실무 가이드 나눔웹
51 퍼블리싱 CSS 변수로 유지보수와 테마 기능을 한 번에! (CSS Custom Properties) 나눔웹
50 마케팅 카카오톡 링크 썸네일의 비밀! 클릭률을 높이는 '오픈 그래프(OG)' 세팅법 나눔웹
49 모바일 모바일 꽉 찬 화면 하단 짤림 현상! '100vh'의 함정과 완벽 해결법 나눔웹
48 웹 성능 홈페이지 첫 화면 글자 깜빡임(투명 현상) 1초 만에 해결하는 법 나눔웹
47 퍼블리싱 스마트폰에서 로고가 흐리게 보인다고요? 'SVG' 포맷이 정답입니다. 나눔웹
46 웹 성능 클릭 실수 유발하는 '화면 덜컹거림(CLS)', 단 한 줄로 해결하는 법 나눔웹
45 모바일 고객의 이탈을 막는 1초 디테일, '모바일 맞춤형 키보드' 세팅법 나눔웹
44 UI/UX 모바일에서 버튼 누를 때 생기는 촌스러운 '회색 박스' 없애는 법 나눔웹
43 UI/UX 레이아웃을 망치는 긴 글, 예쁘게 '...'으로 자르는 마법의 CSS 나눔웹
42 UI/UX 상단 메뉴에 제목이 가려진다고요? '부드러운 스크롤' 마법의 2줄 나눔웹
41 모바일 아이폰에서 입력창 누를 때 화면 '자동 확대'되는 현상 막는 법 나눔웹
40 퍼블리싱 지저분한 모바일 스크롤바, 기능은 남기고 쏙 숨기는 마법의 CSS 나눔웹
39 모바일 모바일 웹을 진짜 '앱(App)'처럼! 이미지 꾹 누를 때 뜨는 팝업 막기 나눔웹
38 UI/UX 애플(Apple) 사이트처럼 고급스러운 '반투명 유리' 메뉴 만드는 법 나눔웹
37 퍼블리싱 무거운 플러그인 NO! 넷플릭스처럼 쫀득한 '가로 스와이프' CSS로 뚝딱 만들기 나눔웹
36 UI/UX 1%의 디테일이 브랜딩을 완성합니다! '텍스트 드래그 색상' 바꾸기 나눔웹
35 UI/UX 투박한 파란색 체크박스는 그만! 단 1줄로 우리 회사 컬러 입히기 나눔웹
34 모바일 하단 고정 버튼이 아이폰 '검은 줄'에 겹친다면? (Safe Area 대응법) 나눔웹
33 모바일 앗, 실수로 새로고침! 튕기는 모바일 화면 꽉 잡는 법 (Overscroll) 나눔웹
Board Pagination Prev 1 2 3 Next
/ 3
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4