같은 코드, 다른 기기에서의 뷰포트
HTML/CSS/JS가 웹 브라우저에서 동작할 때
내 PC와 연결된 디스플레이에서는 정상적인 비율로 나오는데
다른 기기와 연결된 디스플레이에서는
멋대로 비율이 바뀐다던가, 여백 공간이 남는 등의 현상이 발생하고는 한다.
대부분 내 PC와 그 다른 기기의 브라우저 환경이 다르기 때문에 발생한다.
예를 들어, PC와 셋톱박스(STB)를 각각 동일한 모니터에 연결한다 했을 때
다음과 같은 두 쌍의 인터페이스가 생성된다.
MONITOR-PC = 마우스, 키보드 (스크롤 등으로 무한히 확장 가능한 화면)
MONITOR-STB = 모니터, TV (고정된 화면)
사용자 인터페이스가 다르기 때문에
- base css 파일이 다르고
- 뷰포트 overflow 시,
pc 브라우저는 스크롤바, stb 브라우저는 ghost space를 패딩하여 보여준다.
때문에 셋톱박스에서 웹뷰어 프로그램을 사용하여 웹 페이지를 띄운다면
그 웹뷰어 프로그램이 어떤 프로그램의 어떤 버전 기반인지 추적해야한다.
예를 들어,
Android System WebView는 Google Chromium 기반이며
버전은 Chromium 95.0.4638.74
그래서 폰트 사용에도 유의해야한다.
CDN 방식으로 네트워크를 타고 폰트를 다운로드 하는 프로그램이라면
네트워크 구성에 따라 CDN 주소가 막혀서
해당 기기의 기본 폰트가 나올 수도 있기 때문이다.

댓글
댓글 쓰기