欢迎光临散文网 会员登陆 & 注册

你会使用env(safe-area-inset-bottom)吗?

2023-08-16 08:00 作者:bengdour  | 我要投稿

env(safe-area-inset-bottom)和env(safe-area-inset-top)是CSS中的变量,用于获取设备底部和顶部安全区域的大小。所谓的安全区域就是指在iPhone X及以上的设备中,为避免被屏幕的“刘海”和“Home Indicator”所遮挡或者覆盖的有效区域区域,以确保内容在安全区域内显示。

这个变量最好和padding或者height(可结合calc一起)结合使用,会达到最好的效果。

  • 和padding的结合:

如果想让安全区域再靠上20px,则结合calc使用如下:

  • 和height的结合:

以上写法貌似在兼容iphoneX的工程上宣告结束了...然而...在某些机型上识别不出env(safe-area-inset-bottom)和env(safe-area-inset-top),导致高度等失效,那如何做呢?

需要再做一次兼容,兼容某些不识别这些变量的机型。拿和height结合举例说明,可做如下兼容:


如果识别这两个变量,则执行第二句,覆盖第一句;如果不识别这两个变量呢,则不识别第二句,执行第一句。这就是一个完美的兼容写法!

你学费了吗?:)


你会使用env(safe-area-inset-bottom)吗?的评论 (共 条)

分享到微博请遵守国家法律