记录移动端项目iOS端相对于安卓的各种兼容性问题

目录

1、iOS端列表页面屏幕滑动滞涩感强烈

2、iOS端的按钮以及添加的边框和倒角属性失效问题

[3、iOS错误识别页面时间为 a 标签](#3、iOS错误识别页面时间为 a 标签)

4、iOS端调起软键盘界面布局走位问题

5、iOS端滚动条部分滚动样式不生效问题


背景 :

在开发移动端H5项目的过程中,遇到了各种" 匪夷所思 "的奇葩兼容性问题 ( 大致就是在安卓手机上面显示好好的、在浏览器模拟器上面看也是没有任何问题的,,但就是在iOS上面看样式啥的就各种状态百出,呈现不出想要的样子来。。。 )

So,特此记录一下遇到的问题,加深印象,也方便后续少踩坑。


1、iOS端列表页面屏幕滑动滞涩感强烈

就是在安卓手机上面滑动屏幕,会一直滑动然后慢慢停止滚动,但是在iOS端滑动屏幕,手指离开屏幕,它就会停止滚动了,就是滑一下滚动一下,显得很卡顿、滞涩的感觉。

解决方案 :添加一个 css 属性( -webkit-overflow-scrolling

css 复制代码
.list {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;// 添加此属性以解决滑动滞涩问题
}

注意:此样式可能会影响你页面使用的 " position 定位功能 ",尤其是 position: fixed; 固定定位。


2、iOS端的按钮以及添加的边框和倒角属性失效问题

在 iOS 端设置了 border-radius属性的元素展示会有问题

border: 1px solid gray;

border-radius: 10px; ( 在 iOS 端展示不出来 )

想当初最开始没有找到解决方案时,直接把项目里所有带有 border-radius属性的都注释了。(治标不治本)

解决方案 :添加一个 css 属性( will-change

css 复制代码
.van-button--round {
  border: 1px solid gray;
  border-radius: 10px;
  will-change: transform;// 添加此属性以解决边框不展示问题
}

如若是加了 will-change: transform; 还不生效的话,再加一行样式代码 :

transform: matrix3d(0, 0, 0);


3、iOS错误识别页面时间为 a 标签

页面展示内容为 : 2024-06-01 12:00 ~ 2024-06-05 12:00

iOS会自动将 2024-06-05 错误识别成为一个可点击跳转到发送信息界面的 a 标签。

解决方案 :取消 a 标签的可点击效果,调整其标签颜色样式

css 复制代码
a {
  // 取消a标签点击效果并更改其样式
  text-decoration: none;
  pointer-events: none;
  color: #474747;
}

4、iOS端调起软键盘界面布局走位问题

详情请见 :

项目难点:解决IOS调起软键盘之后页面样式布局错乱问题_h5 ios键盘弹出 布局上移


5、iOS端滚动条部分滚动样式不生效问题

详情请见 :

记录解决IOS滚动跳转不生效问题_苹果scrollto方法不生效


6、


持续记录更新、收藏不迷路哦~

相关推荐
袁煦丞19 分钟前
DS file文件管家远程自由:cpolar内网穿透实验室第492个成功挑战
前端·程序员·远程工作
用户0137412843720 分钟前
九个鲜为人知却极具威力的 CSS 功能:提升前端开发体验的隐藏技巧
前端
永远不打烊23 分钟前
Window环境 WebRTC demo 运行
前端
风舞25 分钟前
一文搞定JS所有类型判断最佳实践
前端·javascript
coding随想25 分钟前
哈希值变化的魔法:深入解析HTML5 hashchange事件的奥秘与实战
前端
一树山茶32 分钟前
uniapp在微信小程序中实现 SSE进行通信
前端·javascript
coding随想32 分钟前
小程序中的pageshow与pagehide事件,HTML5中也有?揭秘浏览器往返缓存(BFCache)
前端
萌萌哒草头将军38 分钟前
Rspack 1.5 版本更新速览!🚀🚀🚀
前端·javascript·vue.js
阿卡不卡42 分钟前
基于多场景的通用单位转换功能实现
前端·javascript
♡喜欢做梦1 小时前
jQuery 从入门到实践:基础语法、事件与元素操作全解析
前端·javascript·jquery