在做一个商城小程序开发的时候遇到的一个问题,有些 iphone 手机最下边有一个横条,就像这样:

当我们正常开发的时候就会变成:

如果加一条 margin-bottom 适配就变得没问题了,但是如果在没有这条横杠的手机上就会变得很奇怪:

解决办法:

增加一条 css 样式 padding-bottom: env(safe-area-inset-bottom);

这用于设置元素的底部内边距。这里的env()函数是一个CSS环境变量函数,它允许你根据设备的特定环境特性来设置样式值。

safe-area-inset-bottom是一个特定的环境变量,它返回的是设备屏幕底部安全区域的内边距值。安全区域是指在屏幕边缘(如刘海、圆角、传感器等)不会遮挡内容的区域。在一些设备上,尤其是带有刘海或圆角的手机屏幕上,内容可能会被这些屏幕特征遮挡,因此开发者需要避免在这些区域放置重要内容。

使用env(safe-area-inset-bottom)的好处是,它能够自动适应不同设备的屏幕形状和尺寸,确保内容不会被遮挡。这样,开发者就不需要硬编码一个固定的值,而是可以动态地根据设备的安全区域来调整布局。

简而言之,padding-bottom: env(safe-area-inset-bottom); 意味着元素的底部内边距将等于设备底部安全区域的内边距,从而确保内容不会被屏幕底部的任何遮挡物(如刘海)遮挡。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐