Skip to content

Instantly share code, notes, and snippets.

@smashingpat
Last active February 27, 2020 09:00
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save smashingpat/b81f73ddfa200264b55db4bb269ce1c3 to your computer and use it in GitHub Desktop.
Save smashingpat/b81f73ddfa200264b55db4bb269ce1c3 to your computer and use it in GitHub Desktop.
safe areas

Usage

header {
  position: fixed;
  top: 0;
  left: 0;
  padding: 1em 1em 0; /* fallback when css-variables are not supported */
  padding-top: calc(var(--safe-area-inset-top) + 1em);
  padding-left: calc(var(--safe-area-inset-left) + 1em);
  padding-right: calc(var(--safe-area-inset-right) + 1em);
}

Important that you add the HTML in the head, else the variables won't active and the browser might shrink down the page to fit in the safe zones

<meta name="viewport" content="viewport-fit=cover" />
:root {
--safe-area-inset-top: 0;
--safe-area-inset-right: 0;
--safe-area-inset-bottom: 0;
--safe-area-inset-left: 0;
}
@supports (padding-top: constant(safe-area-inset-top)) {
:root {
--safe-area-inset-top: constant(safe-area-inset-top);
--safe-area-inset-right: constant(safe-area-inset-right);
--safe-area-inset-bottom: constant(safe-area-inset-bottom);
--safe-area-inset-left: constant(safe-area-inset-left);
}
}
@supports (padding-top: env(safe-area-inset-top)) {
:root {
--safe-area-inset-top: env(safe-area-inset-top);
--safe-area-inset-right: env(safe-area-inset-right);
--safe-area-inset-bottom: env(safe-area-inset-bottom);
--safe-area-inset-left: env(safe-area-inset-left);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment