完成移动端的开发项目之后,发现谷歌自带的调试器似乎没有什么太大的作用,整天借同事的苹果手机测bug,尽管同事不厌其烦,但还是觉得这iPhone系列适配问题适配到想逃逃逃,好在项目已经顺利完成,测试通过,下面就是开发过程中遇到的一些坑。

图片.png

图片.png

问题一:苹果手机上的input按钮自带渐变效果

一样的代码,为啥在苹果手机上的input按钮就自带渐变效果,搞特殊吗?怎么让它显示正常?只需要加上outline:0px; -webkit-appearance:none; 清除原有样式,同时苹果手机上的input按钮自带圆角需要按需要去掉

outline:0px; -webkit-appearance:none;
图片.png

问题二:表单input元素获取焦点时页面被放大的解决办法

原因:在iPhone上点击input框会有一个动画效果,这是苹果公司默认设置的,每次input获取焦点都会使页面放大,效果非常不好看,经过多方百度寻求到了一个完美的解决方案

<!--加入meta标记-->
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0, user-scalable=no, width=device-width">
user-scalable改为no即可。
问题三:iPhone6 Plus大屏幕的适配问题

有时候,明明已经用了简单粗暴的媒体查询viewport的方式:

<meta name="viewport" content="width=device-width, initial-scale=0.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />

但是,还是会出现不适配的问题哦,那就在原有页面的基础上,再针对相应的屏幕大小单独写样式做适配。

@media(min-device-width:375px)and(max-device-width:667px)and(-webkit-min-device-pixel-ratio:2){/*iphone6*/}@media(min-device-width:414px)and(max-device-width:736px)and(-webkit-min-device-pixel-ratio:3){/*iphone6plus*/}
1.png

PS:其实也可以直接使用实际的

device-width:如device-width:375px
问题四:移动端input 无法获取焦点的问题

测试的时候发现了一个bug,移动端的input都不能输入了,后来发现原来是这个梗

  -webkit-user-select :none ;

原因:在移动端开发中,我们有时有针对性的写一些特殊的重置,在整个项目之中有一个需求,禁止用户进行复制.选择.,于是写了这样的代码 -webkit-user-select: none;影响到了input获取焦点。

办法:把-webkit-user-select:none改成-webkit-user-select:auto;覆盖掉或者直接注释掉就行,我的项目是需要的,就不用注释了。

问题五:手机端 click 事件会有大约 300ms 的延迟

原因:手机端事件如下

touchstart –> touchmove –> touchend or touchcancel –> click

因为在touch事件触发之后,浏览器要判断用户是否会做出双击屏幕的操作,所以会等待300ms来判断,再做出是否触发click事件的处理,所以就会有300ms的延迟

解决方法:使用touch事件来代替click事件,如 zepto.js 的tap事件和fastClick,注:每次我都使用fastclick解决,这个插件最良心了,都有相应的事件可以代替click事件解决这个问题,大力推荐。

原文作者:祈澈姑娘
原文链接:https://www.jianshu.com/u/05f416aefbe1
创作不易,转载请告知

90后前端妹子,爱编程,爱运营,爱折腾。
坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。
有个很难涨粉的的公众号叫:【编程微刊】

转载于:https://www.cnblogs.com/wangting888/p/9701751.html

移动端iPhone系列适配问题的一些坑相关推荐

  1. iPhone系列设备媒体查询:

    这就引出一个问题,我们在对iPhone设备适配时候,又多出几种情况.iPhone系列设备媒体查询: @media only screen and (min-device-width: 320px){/ ...

  2. 使用vw做移动端页面的适配

    Flexible到今天也有几年的历史了,解救了很多同学针对于H5页面布局的适配问题.而这套方案也相对而言是一个较为成熟的方案.简单的回忆一下,当初为了能让页面更好的适配各种不同的终端,通过Hack手段 ...

  3. html手机端适配怎么调试,html5面试常见问题及答案:移动端布局与适配篇

    原标题:html5面试常见问题及答案:移动端布局与适配篇 1. 移动布局自适应不同屏幕的几种方式 (1)响应式布局 (2)100%布局(弹性布局) (3)等比缩放布局(rem) 2. iscroll安 ...

  4. 【原】移动端界面的适配

    摘要:在进行移动端界面的书写的时候,如果把宽度高度或者字体大小全部写死的话,那么在所有手机上看到的大小都一样,存在的问题就是同样大小的字体,或者一个盒子模型, 在大屏幕手机上看起来会有点偏小.比如ip ...

  5. 苹果计划在明年推出的高端iPhone机型上应用挖孔屏

    近日,据国外媒体报道,苹果公司计划在明年推出的高端iPhone机型上应用挖孔屏. 此前,海外博主带来了最新的iPhone 14 Pro系列的概念渲染图,提前展示了该机的外观设计方案.图片显示,iPho ...

  6. iPhone X 适配(全)

    iPhone X 适配(全) 背景 iPhone X 刘海机于9月13日发布,给科技小春晚带来一波高潮.作为开发人员却多出来一份忧虑,iPhone X 怎么适配?我们 App 的脑袋会不会也长一刘海出 ...

  7. pc端不同分辨率适配

    1.以1920* 1080的设计稿为例,实现PC端不同分辨率适配 2.安装依赖 npm install --save lib-flexible     或者  yarn add lib-flexibl ...

  8. IPhone 4(是iPhone系列中的第四代)

    IPhone 4 iPhone 4是蘋果公司設計及銷售的一款智能手機,是iPhone的第四代.它的前作是iPhone 3GS,而後續型號是iPhone 4S.隨著一系列重大的資訊洩漏事宜,蘋果公司於2 ...

  9. 如何恢复丢失Iphone系列手机内置资料

    Iphone系列手机内置资料丢失如何恢复 虽然现在安卓市场手机品牌层出不穷,但是很多人还是最喜欢独特的iphone手机,甘心做果粉.确实,iphone依靠流畅界面和高清的分辨率迅速占领国内智能手机市场 ...

最新文章

  1. C语言如何实现泛型编程?
  2. Mac系统git clone 慢【解决方案】
  3. Protocol Buffers的应用
  4. 查看python版本命令
  5. 张朝阳:Q4盈利远超预期 2021年期待产品爆发
  6. PyTorch系列入门到精通——梯度消失与爆炸,损失函数
  7. CF1228C. Primes and Multiplication(数学)
  8. 判断EXCEL表格某单元格值发生改变VBA代码
  9. 20200710每日一句
  10. Android中应用程序获得系统签名权限(platform.x509.pem platform.pk8)下载地址
  11. 自己做量化交易软件(22)小白量化之MetaTrader5自动交易1
  12. mac用什么软件测试硬盘好坏,Mac怎么测试硬盘速度?
  13. html页面内容的收缩和展开效果,jquery简单实现网页层的展开与收缩效果
  14. 樊登读书会掌控读后感_樊登读后感悟,樊登读书会《爆款》读后感
  15. OLE技术专题——第一讲:OLE概述
  16. 【管理与控制】干线控制
  17. 安全防御 --- 态势感知、VPN
  18. 2023-ISCC信息安全与对抗竞赛wp-misc(详解,有脚本( •̀ ω •́ ),脚本解析,有附件)
  19. 关于GPS坐标转百度坐标与goolg坐标转百度坐标java代码实现方法
  20. 流计算 Oceanus | Flink JVM 内存超限的分析方法总结

热门文章

  1. ruby调用java代码
  2. hdu 1286( 欧拉函数 )
  3. nlp文本数据增强_如何使用Texthero为您的NLP项目准备基于文本的数据集
  4. java网络编程udp_java网络编程 UDP网络编程问题
  5. IP地址和MAC地址
  6. 四种JOIN简单实例
  7. Swing基础知识(更新中)
  8. 几何图形在logo设计中的有哪些情感意义?
  9. 可以左右移动多选下拉列表的javaScipt(可以兼容IE和firefox)
  10. 浅谈 javascript 中的this绑定问题