SSF-U - Single Standard for Fullscreen

SSF-U - Single Standard for Fullscreen

32

2 min.

Definitions

The SSF-U standard defines requirements for the semantics, accessibility, and logic of fullscreen.

Structure and Semantics

Setting Up the Environment

For the HTML file to function correctly, the viewport meta tag with the values width=device-width, initial-scale=1.0, viewport-fit=cover is required.

The content utilizes the entire physical screen area, including the areas below the “notch” and the Home system indicator, containers and panels must scale correctly to fit the entire screen without cropping important content.

Dynamic height

The primary unit of measurement, dvb, helps recalculate the available space when browser panels appear or disappear:

.fullscreen {
  min-block-size: 100dvb; /* dynamic height */
}

Accessibility

On modern smartphones, the bottom part of the screen is reserved for the system gesture bar env(safe-area-inset-bottom), which prevents the app from accidentally closing when the bottom buttons are pressed:

.bottom-action-panel {
  padding-block-end: calc(var(--safe-offset) + env(safe-area-inset-bottom));
}

“Down” icon

This informs the user that content is present below the fold; the variable is used to ensure the icon always remains above the panel:

.scroll-indicator {
  inset-block-end: calc(5px + env(safe-area-inset-bottom));
  inset-inline-start: 50%;
  transform: translateX(-50%);
}

Interactivity and Visual Feedback

Scroll and Keyboard Control

To prevent rubberband scrolling, you can use the following code:

.main-screen {
  overscroll-behavior-block: none;
}

Example of full implementation

:root {
  --safe-offset: 16px; /* default padding for buttons and icons */
}

.fullscreen {
  min-block-size: 100dvb;
  display: flex;
  flex-direction: column;
  overscroll-behavior-block: none;
}

.bottom-action-panel {
  position: fixed;
  inset-block-end: 0;
  inline-size: 100%;
  padding-block-end: calc(var(--safe-offset) + env(safe-area-inset-bottom));
  background-color: #ffffff;
}

.scroll-indicator {
  position: absolute;
  inset-block-end: calc(5px + env(safe-area-inset-bottom));
  inset-inline-start: 50%;
  transform: translateX(-50%);
}

Similar categories:

Similar articles

  • Anatomy of a React component

    My vision for how every React component should look

    98

    8 min.

  • SSA - Single Standard for Accordion

    The SSA standard defines requirements for the semantics, accessibility, and logic of accordion

    46

    2 min.

  • Bad Practices for Websites

    An Analysis of Critical Web Design Mistakes. Why Sliders, Autoplay, and Slow-Loading Pages Reduce Conversion Rates and Rankings on Google and Yandex

    44

    2 min.

  • SSP - Single Standard for Pagination

    The SSP standard defines requirements for the semantics, accessibility, and logic of pagination

    54

    1 min.

  • SSPS - Single Standard for Project Structure

    The SSPS standard defines requirements for the structure and naming of files and folders in a project

    164

    2 min.

  • SSG - Single Standard for Git

    The SSG standard defines requirements for the semantics, accessibility, and logic of Git

    47

    3 min.

  • All articles

Contact me