Viewport unit variants (svh, lvh, dvh and family) work in Chrome 108+, Edge 108+, Firefox 101+, Safari 15.4+, Opera 94+, and Samsung Internet 21+.

Prince Dewani
May 2, 2026
Viewport unit variants are CSS length units from CSS Values Level 4 that size elements to the small (sv*), large (lv*), or dynamic (dv*) viewport. They work in Chrome 108, Edge 108, Firefox 101, Safari 15.4, Opera 94, Samsung Internet 21, and Firefox for Android 150, while Internet Explorer and KaiOS Browser do not support them.
This guide covers what viewport unit variants are, the browsers that support them, the small, large, and dynamic units, use cases, and known issues.
Viewport unit variants are CSS length units defined in the CSS Values and Units Module Level 4 that size an element relative to the small, large, or dynamic viewport. The sv*, lv*, and dv* prefixes target each viewport size across the height (vh), width (vw), inline (vi), block (vb), min, and max axes.
Every modern engine supports viewport unit variants on desktop and mobile, and global support sits at 94.26% based on caniuse usage data.
Chrome supports viewport unit variants from Chrome 108 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 100 to 107 had the units behind the chrome://flags Experimental Web Platform features toggle, and Chrome 4 to 99 did not support them at all.
Edge supports viewport unit variants from Edge 108 on Windows, macOS, Linux, and Android. Edge 105 to 107 had the units disabled by default behind a flag, and EdgeHTML-based Edge 12 to 18 never supported them.
Firefox supports viewport unit variants from Firefox 101 on Windows, macOS, and Linux. Firefox for Android shipped the same units in Firefox 150, so the desktop and Android tracks are now aligned. Firefox 100 and earlier do not parse the sv, lv, or dv prefixes and treat the property as invalid.
Safari supports viewport unit variants from Safari 15.4 on macOS Big Sur, Monterey, Ventura, Sonoma, and Sequoia. WebKit was the first major engine to ship sv, lv, and dv units, and Safari 15.4 and later expose them with no flag.
Safari on iOS and iPadOS supports viewport unit variants from iOS 15.4 on iPhone and iPad. Apple's WebKit-only rule means every iOS browser inherits the same implementation, so dvh, svh, and lvh behave consistently across the iOS browser fleet running iOS 15.4 or later.
Opera supports viewport unit variants from Opera 94 on Windows, macOS, Linux, and Android. Opera 91 to 93 had the units disabled by default behind a flag, matching the underlying Blink rollout. Opera Mobile 80 and Opera Mini both ship the units on Android.
Samsung Internet supports viewport unit variants from Samsung Internet 21 on Galaxy phones running Android. Samsung Internet 20 and earlier do not parse the sv, lv, or dv prefixes, so One UI shells stuck on an older Samsung Internet build fall back to vh and vw.
The legacy stock Android Browser supports viewport unit variants from Android Browser 147. Chrome for Android 108 and later, the modern Android WebView, Samsung Internet 21, and Firefox for Android 150 also support the units, so the API is consistent across the modern Android browser stack.
Internet Explorer 5.5 to 11 do not support viewport unit variants. The Trident engine never shipped sv, lv, or dv prefixes, and the property is dropped from the cascade. Microsoft has retired Internet Explorer, so move pages with dvh, svh, or lvh dependencies to Chromium-based Edge.
Note: Viewport unit variants behave differently across mobile toolbars, iOS Safari, and older Samsung Internet builds. Test them on real browsers and OS with TestMu AI. Try TestMu AI free!
CSS Values Level 4 splits the viewport into three sizes, and each size has its own unit prefix. The small viewport assumes every collapsible browser bar is shown, the large viewport assumes every bar is hidden, and the dynamic viewport flips between the two as the bars slide.
Viewport unit variants close the long-standing gap where 100vh on a phone overflowed the visible area when the address bar was shown. Production apps lean on them for hero sections, mobile chat UIs, fullscreen modals, photo viewers, and embedded video pages.
Viewport unit variants are well supported, so the rough edges show up in fallback strategy, layout shifts, and engine-specific quirks rather than total browser gaps.
In my experience, the trap that bites every viewport-unit migration once is the dvh layout shift on iOS Safari. A hero looks perfect on the desktop preview, then the QA team flags a 12-pixel jump when the user scrolls into the address bar. Wrap the hero with min-height: 100svh and flip to 100dvh past the fold to remove the jump.
All viewport unit variants version numbers and platform notes in this guide come from these primary sources:
Did you find this page helpful?
More Related Hubs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance