아이들은 폰으로 한다.
모바일 최적화 필수.
뷰포트 설정
확대/축소 막기:
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
PWA 메타 태그
홈 화면 추가하면 앱처럼:
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="theme-color" content="#f97316">
간단한 Manifest
인라인으로:
<link rel="manifest" href="data:application/json,{
"name":"수학 챔피언",
"short_name":"수학",
"display":"standalone",
"background_color":"%23fef3c7",
"theme_color":"%23f97316"
}">
파일 따로 안 만들어도 됨.
터치 하이라이트 제거
터치할 때 파란색 박스 안 뜨게:
* {
-webkit-tap-highlight-color: transparent;
}
스크롤 바운스 막기
당겼다 놓으면 튕기는 거:
body {
overscroll-behavior: none;
}
반응형 레이아웃
최대 너비 제한:
<div className="min-h-screen p-3">
<div className="max-w-md mx-auto">
{/* 내용 */}
</div>
</div>
태블릿이나 PC에서도 적당한 크기.
큰 터치 영역
버튼 크기 충분히:
<button className="py-4 text-2xl ...">
{num}
</button>
py-4 = padding-y 1rem = 16px × 2 = 32px
손가락으로 누르기 편함.
폰트 크기
작은 화면에서도 보이게:
- 제목:
text-2xl~text-3xl - 숫자:
text-4xl - 본문:
text-sm~text-base
스크롤 영역
리더보드, 오답 노트 길어지면:
<div className="space-y-2 max-h-80 overflow-y-auto">
{items.map(...)}
</div>
max-h-80으로 높이 제한, overflow-y-auto로 스크롤.
홈 화면 추가
iPhone:
- Safari에서 열기
- 공유 버튼
- “홈 화면에 추가”
Android:
- Chrome에서 열기
- 메뉴 → “앱 설치” 또는 “홈 화면에 추가”
브라우저 주소창 없이 전체 화면.
다음 글에서 난이도 시스템.