vh
(Viewport Height)는 브라우저의 뷰포트 높이를 기준으로 설정되지만,
모바일 환경에서는 주소창이나 네비게이션 바의 유무에 따라 동적으로 변할 수 있어
정확한 높이를 계산하기 어렵고, 레이아웃이 의도치 않게 깨지는 현상 발생할 수 있음
⇒ 이를 해결하기 위해 dvh
, svh
, lvh
가 등장
svh가 필요한 특수한 상황
빠른 스크롤이나 주소창 토글이 자주 발생하는 상황
→ dvh
는 주소창이 움직일 때마다 높이를 재계산하는데, 이때 레이아웃이 미세하게 흔들려보일 수 있음
→ svh
는 최소 높이로 고정이 되어 있어 이러한 떨림 현상이 없음
성능이 중요한 상황
→ dvh
는 지속적으로 변하기 때문에 요소의 레이아웃을 변화시켜 리플로우를 자주 유발
→ 모바일과 같은 성능 차이가 민감하게 체감되는 환경에서는 svh
가 더 안정적인 부드러운 사용자 경험을 제공
반응형 웹 디자인에서 레이아웃 안정성 고려 ⇒ svh
전체화면을 활용하는 UI ⇒ lvh
실시간으로 동적인 높이를 반영 ⇒ dvh