Layout & CSS Core A2 · Formal specification Platform: Web

Viewport Units

Viewport units are CSS lengths based on the browser's visible area. Small, large, and dynamic versions handle browser bars that appear or hide.

See how it works
You might call it vh/vw unitsdynamic viewport units

See how it works

Original worked exampleViewport Units

Another example

A mobile welcome panel uses `min-block-size: 100svh`. Its consent button stays visible when browser bars are open. A full-screen gallery uses `100dvh` as the bars hide. Both add safe-area padding and let content grow beyond one viewport.

Main parts

  1. 01Viewport variant
  2. 02Axis percentage
  3. 03Safe overflow behavior

Use it when

Choose `sv*` for the stable small view or `lv*` for the large view. Choose `dv*` for a size that changes with browser bars.

Do not use it when

Avoid a fixed `100vh` page that can hide controls behind mobile browser bars or stop zoomed content from scrolling.

Name used in code

svh/svw, lvh/lvw, dvh/dvw, and classic vh/vw

Before you ship

Check content order, shared design values, component consistency, contrast, zoom, and layout changes by screen size. Verify every theme, language, and state. If there is motion, offer an equal reduced-motion experience.

Request you can copy

Outcome: Use or define Viewport Units to make the visual experience clear and easy to use. User context: A mobile welcome panel uses `min-block-size: 100svh`. Its consent button stays visible when browser bars are open. A full-screen gallery uses `100dvh` as the bars hide. Both add safe-area padding and let content grow beyond one viewport. Design concept to apply: Viewport Units. Why it fits: Choose `sv*` for the stable small view or `lv*` for the large view. Choose `dv*` for a size that changes with browser bars. Do not use it when: Avoid a fixed `100vh` page that can hide controls behind mobile browser bars or stop zoomed content from scrolling. Design requirements: Set the content order, shared design values, and reusable components. Define how the layout changes by screen size and state. Keep useful design choices separate from decoration. Inclusion and resilience: Check contrast, zoom, languages, themes, and reduced motion when needed. Do not use color or effects as the only way to show meaning. Acceptance criteria: The design stays clear on phones and desktops, at zoom, in every theme, and in all supported languages. Interactive states stay clear and consistent. Evidence and limits (evidence boundary): A formal document may still be a draft, release candidate, or final version. Check its status and browser or platform support. Unknowns to confirm: Brand limits, amount of content, supported themes and languages, target devices, and design-system rules.

Check this request

Review the current use of Viewport Units. Definition: Viewport units are CSS lengths based on the browser's visible area. Small, large, and dynamic versions handle browser bars that appear or hide. Release checks: Check content order, shared design values, component consistency, contrast, zoom, and layout changes by screen size. Verify every theme, language, and state. If there is motion, offer an equal reduced-motion experience. Before changing code, report the evidence you found, gaps, severity, and the smallest safe fix.

A2
How official is this term?

Formal specification

A published, versioned formal specification defines this term for the listed technical scope.

A formal document may still be a draft, release candidate, or final version. Check its status and browser or platform support.

Scope
CSS viewport-percentage lengths
Document status
draft
Checked on
2026-07-30

Evidence sources & scope

Authority source + Term reference · W3C CSS Working Group · draft CSS Values and Units Module Level 4 — Viewport-percentage lengths Viewport-percentage lengths Scope: CSS value functions and viewport-relative units; direct scope: Viewport-percentage lengths Role here: Direct term reference Source covers: canonical name, definition, semantics, implementation Authority source · W3C CSS Working Group · draft CSS Values and Units Module Level 4 Scope: CSS value functions and viewport-relative units Role here: Authority within stated scope Source covers: canonical name, definition, semantics, implementation

Copy it yourself

The browser could not copy this. Select the request below and copy it yourself.