유틸리티 소개

웹 개발할 때 window.innerWidth랑 screen.width 차이

JavaScript에서 화면 크기 관련 속성이 여러 개 있다. 헷갈리기 쉬운데, 각각 의미가 다르다.

screen.width

모니터의 전체 해상도다. 브라우저 창 크기랑 상관없이 일정하다. 1920x1080 모니터면 screen.width는 1920.

window.innerWidth

브라우저 뷰포트 크기다. 스크롤바 포함 안 한다. 창 크기를 줄이면 값도 줄어든다. 화면 크기 확인기로 실시간 변화를 확인해보자.

document.documentElement.clientWidth

스크롤바 제외한 뷰포트 크기. CSS 레이아웃 계산에 쓴다. 확인기에서 이 값들의 차이를 비교해볼 수 있다.

화면 크기 측정의 중요성

웹 개발에서 화면 크기를 정확히 아는 것은 매우 중요하다. 잘못된 가정을 하면 레이아웃이 깨지거나 사용자 경험이 나빠질 수 있다. 화면 크기 확인기로 항상 실제 크기를 확인하는 습관을 들이자. 특히 반응형 웹을 만들 때는 다양한 화면 크기에서 테스트해야 한다.

실무에서 자주 하는 실수

개발자 모니터 기준으로만 디자인하면 작은 화면에서 문제가 생긴다. 또 데스크톱만 생각하고 만들면 모바일에서 터치가 어려울 수 있다. 항상 다양한 환경을 고려하고 확인기로 여러 크기에서 테스트하자.

앞으로의 트렌드

폴더블 폰, 대형 태블릿 등 화면 크기가 점점 다양해지고 있다. 고정된 브레이크포인트보다는 콘텐츠 기반으로 유연하게 대응하는 디자인이 중요해지고 있다. 화면 크기 확인기로 새로운 기기들의 화면 크기도 확인하면서 대응하자.