当前位置: 首页 > 编程日记 > 正文

移动端iPhone系列适配问题的一些坑

完成移动端的开发项目之后,发现谷歌自带的调试器似乎没有什么太大的作用,整天借同事的苹果手机测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

相关文章:

shred命令

不做陈冠希必备。。。。 shred --help 用法&#xff1a;shred [选项]... 文件... Overwrite the specified FILE(s) repeatedly, in order to make it harder for even very expensive hardware probing to recover the data.Mandatory arguments to long options are mandator…

WPF初探--RichTextBox

1. 设置RichTextBox运行换行 将AcceptReturn属性设置为true 2. 保存RichTextBox内容到文件 //path为完整保存路径名 private void SaveRtfFile(string path) { FileStream fs new FileStream(path, FileMode.Create); TextRange range; range new TextRange(your…

手把手视频第一节

个人的总结&#xff1a; 今天又重新开始看一套单片机视频&#xff0c;算上这一套已经是第三套了&#xff0c;也总结了一些教训。首先是在抄代码的时候不明白的地方就算后来明白了也要加注释&#xff0c;解释这句话的意思&#xff0c;否则以后看的时候一定是一脸懵逼。 手把手第…

异步操作(三)

APM的轮询聚焦技巧 就从字面意思来理解&#xff0c;每隔一段时间来查询&#xff0c;异步操作的结果。而怎么实现轮询的方法了&#xff0c;这里就要谈到IAsyncResult接口。它定义了若干个只读属性 publicinterfaceIAsyncResult{ Object AsyncState {get;} WaitHandle AsyncWaitH…

Django-C002-深入模型,到底有多深

此文章完成度【100%】留着以后忘记的回顾。多写多练多思考&#xff0c;我会努力写出有意思的demo&#xff0c;如果知识点有错误、误导&#xff0c;欢迎大家在评论处写下你的感想或者纠错。 ORM介绍&#xff1a;对象关系映射&#xff08;英语&#xff1a;(Object Relational Map…

Linux中断流程分析

裸机中断&#xff1a; 1、中断流入口 2、事先注册中断处理程序 3、根据中断源编号&#xff0c;调取处理程序 irq_svc&#xff1a;1、等到产生中断源的编号&#xff08;每一个中断号都有一个描述结构&#xff09; 2、转载于:https://www.cnblogs.com/sanshijvshi/p/8531025.html…

手把手视频第二节

一、单片机的三大内部资源&#xff08;我们作为用户&#xff0c;单片机可以提供给我们的资源&#xff09; 1、FALSH&#xff08;程序存储空间&#xff09; &#xff08;1&#xff09;早期使用的一般是TOPROM &#xff0c;程序只能写入一次&#xff0c;程序写错了只能换一块。 &…

SQL Server DATEADD() 函数

定义和用法 DATEADD() 函数在日期中添加或减去指定的时间间隔。 语法 DATEADD(datepart,number,date) date 参数是合法的日期表达式。number 是您希望添加的间隔数&#xff1b;对于未来的时间&#xff0c;此数是正数&#xff0c;对于过去的时间&#xff0c;此数是负数。 datepa…

致广大关注《网络规划设计师考试案例梳理、真题透解与强化训练》读者朋友的一封信...

致广大关注《网络规划设计师考试案例梳理、真题透解与强化训练》读者朋友的一封信 书是人类进步的阶梯&#xff0c;读书是增强个人软实力的佳径。好读书是你的美德&#xff0c;读好书是你的选择&#xff0c;书好读是我们的承诺&#xff01;如果有心&#xff0c;不妨把一卷《网络…

Mac MySQL 数据库配置(关系型数据库管理系统)

本文已停止更新&#xff0c;点击此链接查看本文最新内容 &#xff01;&#xff01;&#xff01;前言 MySQL 关系型数据库管理系统。1、配置准备工作 1&#xff09;配置数据库准备工作 下载相关软件 mysql-5.7.21-1-macos10.13-x86_64.dmgmysql-workbench-community-6.3.10-maco…

SSM框架——Spring+SpringMVC+Mybatis的搭建教程

一&#xff1a;概述SSM框架在项目开发中经常使用到&#xff0c;相比于SSH框架&#xff0c;它在仅几年的开发中运用的更加广泛。 Spring作为一个轻量级的框架&#xff0c;有很多的拓展功能&#xff0c;最主要的我们一般项目使用的就是IOC和AOP。SpringMVC是Spring实现的一个Web层…

【java】兴唐课程第五节到第九节知识点总结

第九节 1、 代码&#xff1a;void readBook(String… bookNames) 表示不确定参数的个数&#xff0c;此时变量为一个数组。 2、当方法中的参数名称(如stuname)和属性名称相同时。 this.stuname表示属性 stuname表示参数。 3、主方法与所在的累无关&#xff0c;是一个程序的入口…

构建RHEL上的extmail

一、extmail_solutionz 1、ExtMail Solution 结构 ExtMail Solution 是一个基于优秀开源软件的电子邮件系统解决方案&#xff0c;核心部件包括了Postfix、Amavisd-new、ClamAV、ExtMail、ExtMan、Courier系列软件。是一个功能相对比较齐全的免费电子邮件系统。以下是其主要的特…

MapReduce_wordcount

测试数据&#xff1a; [hadooph201 mapreduce]$ more counttext.txt hello mamahello babahello wordcai wen weimama baba jiejie gegegege jiejie didimeimei jiejiedidi mamaayi shushuayi mamahello mamahello babahello wordcai wen weimama baba jiejie gegegege jiejie …

Appium+python自动化(八)- 初识琵琶女Appium(千呼万唤始出来,犹抱琵琶半遮面)- 下(超详解)...

​简介 通过上一篇宏哥给各位小伙伴们的引荐&#xff0c;大家移动对这位美女有了深刻的认识&#xff0c;而且她那高超的技艺和婀娜的身姿久久地浮现在你的脑海里&#xff0c;是不是这样呢&#xff1f;&#xff1f;&#xff1f;不要害羞直接告诉宏哥&#xff1a;是&#xff0c;就…

蜻蜓resin服务器虚拟目录的设置

首先&#xff0c;别急着打开服务器先&#xff0c;接住打开resin主目录下的conf文件夹的resin.conf文件&#xff0c;老规矩&#xff0c;备份先&#xff0c;mv resin.conf resin.conf.bak然后vi resin.conf 文件&#xff0c;找到如下这段代码&#xff1a;1 <!--configures the…

【java】兴唐第十节课知识点总结

1、使用main里的成员方法也要实例化对象吗&#xff1f; 必须实例化 ///重点&#xff01; 2、在成员方法中调用另一个成员方法可以直接调用&#xff08;前面省略一个this.&#xff09; 3、 \n也可以在java里用 4、null可以是除了基本数据类型外的任何数据类型 5、基本数据类…

SharePoint2010是个什么东西

Microsoft SharePoint Foundation is an application that is built on top of Internet Information Services (IIS) and the Microsoft ASP.NET Framework. Microsoft SharePoint Foundation 是架构在IIS和ASP.NET Framework上的一个应用程序。IIS是与互联网站点相关的&#…

Linux Shell高级技巧(目录)

为了方便我们每个人的学习&#xff0c;这里将给出Linux Shell高级技巧五篇系列博客的目录以供大家在需要时参阅和查找。 Linux Shell高级技巧(一) http://www.cnblogs.com/stephen-liu74/archive/2011/12/22/2271167.html一、将输入信息转换为大写字符后再进行条件判断二、为调…

Keras卷积+池化层学习

转自&#xff1a;https://keras-cn.readthedocs.io/en/latest/layers/convolutional_layer/ https://keras-cn.readthedocs.io/en/latest/layers/pooling_layer/ 1.con1D keras.layers.convolutional.Conv1D(filters, kernel_size, strides1, paddingvalid, dilation_rate1, ac…

【Java】阿里巴巴java开发手册总结(我能看懂的)

尽管这本《手册》句句是精华&#xff0c;但由于我还是个菜鸟&#xff0c;这里仅作&#xff08;我能用的到的&&我能看懂的&#xff09;的笔记 1.1命名风格 1、类名用UpperCamelCase的风格 2、方法名、参数名、成员变量、局部变量都统一用lowerCameCase的风格&#xff…

关于maya与max互导FBX出现错误的解决方案。

因为自己实在是不愿意一次又一次把时间浪费在导入导出的问题上。每一次都是多试几次才成功&#xff0c;也没有真正去测试这个东西。但是今天实在是碰到了错误中的极品了。最后还是决定写下来。。算是给自己做笔记吧。。大家如果在导入导出的时候遇到一些问题不妨试试以下几种方…

AS3.0中的显示编程(六)-- 几何结构

几何结构&#xff0c;主要是完成Flash编程中&#xff0c;一些和几何相关的内容。如显示对象的变形角度、公式计算等。可能很多人和我一样&#xff0c;高中学的几何知识&#xff0c;差不多都已经还给老师了。不过也不用太担心&#xff0c;因为一般情况下&#xff0c;我们也用不到…

Win10命令行激活 电脑组装

系统激活&#xff1a; 1. 管理员身份运行 cmd 2. slmgr.vbs /upk //卸载产品密匙 3. slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX //安装 4. slmgr /skms zh.us.to …

【java】兴唐第十五节课

知识点&#xff1a; 1、定义包名不能以java.为开头。 2、获取系统时间的方法&#xff1a; 注意&#xff1a; &#xff08;1&#xff09; 引入Date类时&#xff0c;引入的是java.util.Date 而不是java.sql.Date(后者是前者的子类)。 代码实现 Date date new Date(); System.o…

SQL Server 日期和时间相关的数据类型有两种

SQL Server 日期和时间相关的数据类型有两种&#xff1a;DateTime和SmallDateTime。 DateTime:需要8个字节&#xff0c;前4个字节用1900年1月1日以后的天数表示日期&#xff0c;后4个字节表示一天中的时间。支持的日期范围&#xff1a;1/1/1753 12:00:00 AM到12/31/9999 11:59…

序列化pickle

import pickle d { name:alex, role:police, blood: 76, weapon:AK47 } d_dump pickle.dumps(d) #序列化 print (pickle.loads(d_dump)) #反序列化 f open(game.pkl, wb) pickle.dump(d, f) #First in first out (FIFO) pickle.dump(alive_players, f) dump 写入文件 du…

T-SQL笔记3:事务、锁定和并发

T-SQL笔记3&#xff1a;事务、锁定和并发 本章摘要 1&#xff1a;事务 1.1&#xff1a;显式事务 1.2&#xff1a;使用DBCC OPENTRAN显示最早的活动事务 2&#xff1a;锁定 2.1&#xff1a;查看锁的活动 3&#xff1a;并发影响及隔离级别 3.1&#xff1a;并发影响 3.2&#xff1…

几种常用数据库比较

目前&#xff0c;商品化的数据库管理系统以关系型数据库为主导产品&#xff0c;技术比较成熟。面向对象的数据库管理系统虽然技术先进&#xff0c;数据库易于开发、维护&#xff0c;但尚未有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES…

成功将BlogEngine 1.5 升级到了BlogEngine 2.0

使用BlogEngine.Net博客系统有两年时间了。官方的最新版本已经出到了2.5。但它是基于.net4.0的。也就是说服务器必须安装.net4.0&#xff0c;运行环境必须选择4.0。出于移植性的考虑。我决定将我的博客升级到2.0。BlogEngine.Net2.0是继续.net2.0的。虽说必须安装.net 3.5&…