移动端开发的兼容问题(自我总结篇)

摘要:
解决方案:使用不透明度=1来解决问题。2.对于不可点击的元素,如收听点击事件,某些IOS版本不会触发。解决方案:可以使用1倍的整体放大率,然后使用变换缩放。在移动终端上使用画布时也需要此解决方案。6.移动终端上的图像上传问题与低端计算机兼容。解决方案:input添加属性accept=“image/*”multiple7。在h5中,它嵌入到应用程序中。如果ios中出现垂直滚动条,手指滑动页面并滚动。滚动后,滚动很快停止,就像你在踩刹车一样,感觉“很难滚动”。
移动端开发的兼容问题
文章已同步我的github笔记https://github.com/ymblog/blog,欢迎大家加star~~

1、ios下input为type=button属性disabled设置true,会出现样式文字和背景异常问题。

解决方案:使用opacity=1来解决

2、对非可点击元素如(label,span)监听click事件,部分ios版本下不会触发。

解决方案:css增加cursor:pointer就搞定了

3、移动端1px边框

解决方案:比如按钮的box的class为btn

.btn:before{
  content:'';
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #ccc;
   200%;
  height: 200%;
  box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

4、input为fixed定位,在ios下input固定定位在顶部或者底部,在页面滚动一些距离后,点击input(弹出键盘),input位置会出现在中间位置。

解决方案:内容列表框也是fixed定位,这样不会出现fixed错位的问题

5、移动端字体小于12px使用四周边框或者背景色块,部分安卓文字偏上bug问题。

解决方案:可以使用整体放大1倍(width、height、font-size等等)再使用transform缩放,使用canvas在移动端会模糊也需要这样的解决方案

6、在移动端图片上传图片兼容低端机的问题。

解决方案:input 加入属性 accept="image/*" multiple

7、在h5嵌入app中,ios如果出现垂直滚动条时,手指滑动页面滚动之后,滚动很快停下来,好像踩着刹车在开车,有“滚动很吃力”的感觉。

解决方案:

self.webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;对webview设置了更低的“减速率”

8、移动端click 300ms 延时响应

解决方案:使用 Fastclick

window.addEventListener( "load", function() {
  FastClick.attach( document.body );
}, false );

9、在安卓机上placeholder文字设置行高会偏上

解决方案:input有placeholder情况下不要设置行高

10、overflow:scroll,或者auto在iOS上滑动卡顿的问题

解决方案:加入-webkit-overflow-scrolling:touch;

11、移动端图片压缩预览上传的问题,可以参考我的一篇文章https://segmentfault.com/a/11...

12、移动端适配可以使用lib-flexible https://github.com/amfe/lib-f...,使用rem来布局移动端有一个问题就是px的小数点的问题,不同的手机对于小数点处理方式不一样,有些是四舍五入,有些直接舍去掉,因此在自动生成雪碧图时候图标四周适当留2px的空间,防止图标被裁剪掉

13、iphonex的适配的解决方案

<meta name="viewport" content="...,viewport-fit=cover" />
body{
    padding-top: constant(safe-area-inset-top);
    padding-top: env(safe-area-inset-top);
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
}

结束……撒花~~

文章已同步我的github笔记https://github.com/ymblog/blog,欢迎大家加star~~

之后有问题会陆续更新上去,大家有更多的兼容问题或者以上有问题可以在评论中留言。

免责声明:文章转载自《移动端开发的兼容问题(自我总结篇)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用git pull文件时和本地文件冲突怎么办?浅谈CSS中的百分比下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Alfred工具

神兵利器——Alfred 有人的地方就有江湖,有江湖就有纷争。 很多人说我的文字风格相对轻松和温和,那是因为我很早就认识到,我们没有教育脑残和喷子的义务。在网际多年,看过太多虚拟的刀锋和鲜血,很多人被彻头彻尾的粉碎,挫骨扬灰,似乎从来没有来过这个网络,但是很快这些人就从另一个黑暗的角落爬了起来,并换上一副暂新的马甲继续战斗。所以我在网络上很少参与或挑起争端...

Windows10系统服务优化及分析(批处理)

对于Win10来说,除了UI的变动外,微软还根据用户体验做了一些功能的增强和更改,在我看来,Win10本身启动的服务都是为了系统运作更加完美而增加的,但是对于很多人来说,Win10的很多功能很少用,甚至用不到,对于这样的功能如果不关闭的话,只能占用我们的系统资源。 如何用批处理对系统的服务进行开关? 服务停止 net stop "服务名称"   停止服务...

iOS自动化探索(十)代码覆盖率统计

iOS APP代码覆盖率统计 今年Q3季度领导给加了个任务要做前后端代码覆盖率统计, 鉴于对iOS代码比较熟就选择先从iOS端入手,折腾一整天后终于初步把流程跑通了记录如下 覆盖率监测的原理 Xcode中配置编译选项后,编译后会为每个可执行文件生成对应的.gcno文件;之后在代码中调用覆盖率分发函数,会生成对应的.gcda文件。 gcno:包含基本的块信...

NetCore项目发布对前端项目进行打包合并发布

在某个小项目中, api使用asp.net core 3.x 编写, UI页面则使用Vuejs. 正常情况下, 项目右键的发布只会发布api项目,而不会管Vuejs的项目. 所以通过简单的改造,在发布该项目时不光发布api本身, 同时也编译和发布Vuejs写的页面. 这样子就可以2个项目一起部署了. 当然我们也可以通过CI/CD来解决问题. 项目结构: *...

Robot Framework自动化测试入门

Python: https://www.python.org/ RF框架是基于python的,所以一定要有python环境。 Robotframework: https://pypi.python.org/pypi/robotframework/2.8.5 这个不是解释了,RF框架。虽然在做基于UI的自动化时,它展现出来的很像QTP,我之前也以为它和Q...

uniapp-小程序开发中遇到的问题:

ps:约1月 || 单个项目完成时 问题1:小程序 v-show class切换失效? uniapp写的自定义组件。v-show 绑定 一个状态值 切换显示。 chrome 调试没问题。 运行在小程序开发程序上,直接展开了。未隐藏,且v-show没生效。 看参考得知,是v-show在自定义组件上不会生效(微信小程序) 最快解决方案,将 v-show 换为...