Skip to content

[css-values-4] Large, small and dynamic viewport units (lvh, svh & dvh) don't solve top level horizontal scrolling use cases #6551

@lpd-au

Description

@lpd-au

Relevant Spec: https://drafts.csswg.org/css-values-4/#viewport-variants

Imagine an empty page styled with:

:root {
  width: 1000vw;
  height: 100%;
}

body {
  width: 100%;
  height: 100%;
  margin: 0;
  background: linear-gradient(to right, white, red);
}

Currently, on desktop it renders with only a horizontal scrollbar, like so:

image

But of course on mobile with retractable chrome, this is problematic:

image

Ideally, this could be solved using a solution such as:

:root {
  height: 100lvh;
}

This would work on mobile; however, the spec currently states that:

In all cases, scrollbars are assumed not to exist. Note however that the initial containing block's size is affected by the presence of scrollbars on the viewport.

So on desktop, you'd get the frustrating effect of a horizontal scrollbar, like so:

image

When used throughout the document, I understand the scrollbars limitation is for a good reason: #6026 (comment). Irrespective of whether this general limitation can be overcome in level 4, surely the root element is a special case where a reasonable solution can be found? If not investigated now while a large number of new units are being specified, would it become too complex later?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions