1. Client Hints: DPR, Width, Viewport-Width

    DPR, Width, and Viewport-Width hints enable proactive content negotiation between client and server, enabling automated delivery of optimized assets - e.g. auto-negotiating image DPR resolution.

  2. CSS content-visibility

    Provides control over when elements are rendered, so rendering can be skipped for elements not yet in the user's viewport.

  3. CSS Device Adaptation

    Method of overriding the size of viewport in web page using the `@viewport` rule, replacing Apple's own popular `<meta>` viewport implementation. Includes the `extend-to-zoom` width value.

  4. CSS position:sticky

    Keeps elements positioned as "fixed" or "relative" depending on how it appears in the viewport. As a result the element is "stuck" when necessary while scrolling.

  5. document.elementFromPoint()

    Given coordinates for a point relative to the viewport, returns the element that a click event would be dispatched at if the user were to click the point (in other words, the element that hit-testing would find).

  6. Element.getBoundingClientRect()

    Method to get the size and position of an element's bounding box, relative to the viewport.

  7. IntersectionObserver

    API that can be used to understand the visibility and position of DOM elements relative to a containing element or to the top-level viewport. The position is delivered asynchronously and is useful for understanding the visibility of elements and implementing pre-loading and deferred loading of DOM content.

  8. Element.scrollIntoViewIfNeeded()

    If the element is fully within the visible area of the viewport, it does nothing. Otherwise, the element is scrolled into view. A proprietary variant of the standard `Element.scrollIntoView()` method.

  9. Small, Large, and Dynamic viewport units

    Viewport units similar to `vw` and `vh` that are based on shown or hidden browser UI states to address shortcomings of the original units. Currently defined as the `sv*` units (`svb`, `svh`, `svi`, `svmax`, `svmin`, `svw`), `lv*` units (`lvb`, `lvh`, `lvi`, `lvmax`, `lvmin`, `lvw`), `dv*` units (`dvb`, `dvh`, `dvi`, `dvmax`, `dvmin`, `dvw`) and the logical `vi`/`vb` units.

  10. Viewport units: vw, vh, vmin, vmax

    Length units representing a percentage of the current viewport dimensions: width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).

  11. gpurenderpassencoder api: setviewport

  12. svgelement api: viewportelement

  13. visualviewport api

  14. visualviewport api: height

  15. visualviewport api: offsetleft

  16. visualviewport api: offsettop

  17. visualviewport api: pageleft

  18. visualviewport api: pagetop

  19. visualviewport api: `resize` event

  20. visualviewport api: scale

  21. visualviewport api: `scrollend` event

  22. visualviewport api: `scroll` event

  23. visualviewport api: width

  24. vttregion api: viewportanchorx

  25. vttregion api: viewportanchory

  26. webgl2renderingcontext api: viewport

  27. webglrenderingcontext api: viewport

  28. window api: visualviewport

  29. xrsubimage api: viewport

  30. xrviewport api

  31. xrviewport api: height

  32. xrviewport api: width

  33. xrviewport api: x

  34. xrviewport api: y

  35. xrview api: recommendedviewportscale

  36. xrview api: requestviewportscale

  37. xrwebgllayer api: `getviewport()`

  38. types: `<length>`: `dvb`, `dvh`, `dvi`, `dvmax`, `dvmin`, `dvw` units

  39. types: `<length>`: `lvb`, `lvh`, `lvi`, `lvmax`, `lvmin`, `lvw` units

  40. types: `<length>`: `svb`, `svh`, `svi`, `svmax`, `svmin`, `svw` units

  41. headers http header: `accept-ch` client hint accept (response) header: `viewport-width` token

  42. headers http header: permissions-policy: execution-while-out-of-viewport

  43. headers http header: `viewport-width` request header