fix(layout): add support for iOS safe area#817
Open
WarningImHack3r wants to merge 12 commits intosveltejs:mainfrom
Open
fix(layout): add support for iOS safe area#817WarningImHack3r wants to merge 12 commits intosveltejs:mainfrom
WarningImHack3r wants to merge 12 commits intosveltejs:mainfrom
Conversation
|
@WarningImHack3r is attempting to deploy a commit to the Svelte Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
teemingc
requested changes
Feb 26, 2026
Member
teemingc
left a comment
There was a problem hiding this comment.
I tested the changes on an iPhone 16 with iOS26 by adding the site to the home screen as a web app. Sadly, it doesn’t work there. Can you verify this too?
Contributor
Author
|
Fixed thanks to this forum answer (for reference)
And while we're at it, full iOS 26 showcase (unaffected by this last patch):
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Add support for iOS' safe area environment variables to prevent the navbar from being hidden behind the iPhone's home bar.
It works using the official Webkit guide, which was originally made after the introduction of the iPhone X with iOS 11.
It exposes the
env()CSS function with 4 variables (safe-area-inset-{top,left,right,bottom}), requiringviewport-fit=coverin theviewportmeta tag to get rid of natural viewport margins (edit:apparently not needed from my testing, removed it - probably only required for the left/right variants?needed for iOS 26.1+ PWAs!).These environment variables are smartly populated by the system based on the current Safari layout, giving them a value granularly as needed.
Note
You might note my PR doesn't include the outdated
constant()function, the previous name ofenv()between iOS 11.0 and 11.2 beta versions: the already low range of concerned versions combined with the ancient age of this major iOS version isn’t worth the effort, in my opinion.It can, however, be easily added at will with
@supportsqueries or CSS rules fallbacks after bypassingcalc()calls.On desktop, the
env()function is (supposedly) undefined, invalidating the CSS lines using it, leading to no repercussions on desktop browsers or other mobile browsers. I've tested it on Arc / Chrome desktop in responsive mode and noticed no impact.Demo
Before submitting the PR, please make sure you do the following
feat:,fix:,chore:, ordocs:.