问题描述

在微信小程序开发过程中,有些页面的按钮是需要固定在页面底部(如电商详情页中的加入购物车按钮等),如果将底部栏样式直接设置为bottom:0;,那么在iPhone X、iPhone XR、iPhone 12等机型中,就会出现下图所示问题:按钮区域距离底部太近,可点击区域缩小,用户体验感差。

问题复现

解决方案

方案一(最快速)

利用IOS新增的 env()constant() 特性即可解决,开发者不需要自己动态计算高度,只需将如下CSS代码添加至样式中:

示例代码:

<!-- 底部栏 -->
<view class="bottom"></view>
.bottom {position: fixed;bottom: 0;padding-bottom: constant(safe-area-inset-bottom);padding-bottom: env(safe-area-inset-bottom);
}

方案二(动态计算)

<!-- 底部栏 -->
<view class="bottom" style="padding-bottom:{{bottomPadding}}px"></view>
async onLoad() {const res = await wx.getSystemInfo({})const bottomPadding = res.screenHeight - res.safeArea.bottomthis.setData({bottomPadding})
}
.bottom {position: fixed;bottom: 0;
}

微信小程序安全区域适配问题相关推荐

  1. 7.微信小程序(布局适配与物理逻辑像素)

    微信小程序(布局适配与物理逻辑像素) 前言 移动端开发经常遇到一些概念:物理像素.逻辑像素.像素密度.像素比等,本节来详细介绍下 关键词: 屏幕尺寸.物理像素/屏幕分辨率/物理分辨率.逻辑像素DIP. ...

  2. 微信小程序全面屏适配

    开发微信小程序中,遇到iPhone全面屏手机,底部小黑条会遮挡页面底部,因此需要做适配处理. 解决方案:使用wx.getSystemInfoSync()中的screenHeight和safeArea对 ...

  3. 微信小程序iphone x适配

    微信小程序在适配iphone x 的时候 底部的横线会出现遮挡这时候就要处理下: 在app.js文件中 创建全局变量,然后获取设备型号 globalData: {isIphoneX: false,us ...

  4. 微信小程序 (布局适配与物理逻辑像素)

    移动端开发经常遇到一些概念:物理像素.逻辑像素.像素密度.像素比等 关键词: 屏幕尺寸.物理像素/屏幕分辨率/物理分辨率.逻辑像素DIP.像素密度PPI.像素比DPR.视网膜显示屏Retina.rpx ...

  5. 微信小程序(布局适配与物理逻辑像素)

    前言 移动端开发经常遇到一些概念:物理像素.逻辑像素.像素密度.像素比等,本节来详细介绍下 关键词: 屏幕尺寸.物理像素/屏幕分辨率/物理分辨率.逻辑像素DIP.像素密度PPI.像素比DPR.视网膜显 ...

  6. 微信小程序 全面屏适配

    最近在做小程序,说实话小程序的坑我才刚踩.今天做了一个关于小程序自定义navigator的功能,不废话,先上图 通过配置app.json的window属性的navigationStyle(导航栏样式, ...

  7. html5苹果x底部满屏,iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配...

    最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结. 前言 在苹果 iPho ...

  8. iPhoneX安全区域(Safe Area)底部小黑条在微信小程序和H5的屏幕适配

    最近写小程序时,遇到了 iPhoneX 底部小黑线与内容重叠的问题,实际上是iPhoneX安全区域的适配问题,了解清楚这个问题花了挺多时间的,也实操出了结果,忍不住来总结总结. 本文目录 前言     ...

  9. [微信小程序]适配各个不同机型屏幕

    微信小程序该如何适配各个机型屏幕 我们知道在原始设备中, iOS有pt,安卓有dp(密度无关像素), 但是无论在原生开发语言还是在React-native中, 我们处理屏幕适配, 都可以采用动态获取当 ...

最新文章

  1. log4j添加日志一定记住在工程的web.xml文件下加一些内容
  2. php判断几维数组的方法,php如何判断数组是几维
  3. 2019-03-09-算法-进化(买卖股票的最佳时机 II)
  4. linux驱动位置_Linux驱动程序学习一 (续)
  5. 阿里技术专家玄惭回忆:我是如何自学技术拿到阿里offer
  6. IP组播之组管理协议IGMP
  7. copula 重现期 matlab,合肥市干旱识别及基于Copula的特征值重现期分析
  8. 原理图和PCB设计流程概述
  9. 分布式,嵌入式,集群三种操作系统
  10. 微信开发(六):微信卡券
  11. ucfirst() 把字符串中的首字符转换为大写
  12. 软件测试的需求人才越来越多,为什么大家还是不太愿意走软件测试的道路?
  13. transformer中的相对位置偏置的介绍(relative position bias)
  14. Leetcode——714. Best Time to Buy and Sell Stock with Transaction Fee
  15. 怎么让计算机文件格式显示,已知文件类型的扩展名如何设置显示与隐藏?
  16. UE4_UE5蓝图command节点的使用(开启关闭屏幕响应-log-发布全屏显示)
  17. 信息学奥赛一本通:1134:合法C标识符查
  18. Android 10.0 Activity启动详解(二)
  19. 英语单词:flight; fly
  20. jenkins检查更新站点时出错:SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.secu

热门文章

  1. 2022.5.4.学习笔记数据类型
  2. 双目视觉三维重建框架
  3. 电脑WIFI突然消失解决方法
  4. 量子计算机关键技术有哪些,实现量子通信的关键技术有哪些?
  5. C语言逻辑操作符的巧妙用法:an anagram of a palindrome
  6. python—最大公约数和最小公倍数
  7. 达内2016前端开发知识点总结--HTML5--8天
  8. 信号间隔是什么意思_摩斯密码字符之间有间隔是什么意思?
  9. 国网云(华为组件)使用
  10. 水题poj1423 解题报告