移动端开发ios和安卓兼容问题
移动端开发ios和安卓兼容问题
最近做移动端混合开的时候遇到一些安卓和iOS的兼容性问题,兼容想问题不仅在浏览器存在也在APP开发当中也会经常遇到这样的情况。
最近看了一下内容很不错的移动端开发相关的资料,自己总结出来了一些安卓和iOS兼容的知识点:
一、搜索确定问题
添加form元素,在提交的时候是input失去焦点
二、时间框选择问题
添加form元素
三、多图上传问题
安卓上不能多图上传,无法解决
四、浮动问题
尽量用盒子模型布局
五、音频自动播放问题,ios默认不自动播放
在document上添加点击事件播放音频
六、浮动高度撑开盒子
.clearfix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.clearfix{
display:inline-block;
}
* html .clearfix{
height:1%;
}
.clearfix{
display:block;
}
.clear{
clear:both;
height:0;
font:0/0 Arial;
visibility:hidden;
}
七、 Css在ios中动画闪屏问题
IOS下Safari渲染Transition时页面闪动Bug
http://classjs.com/category/technology/css/
环境:IOS的Safari环境
问题:在做移动端左右滑动的时候,用到了CSS3的Transition属性来进行动画变换,结果每次渲染Transition属性时,出现闪屏现象。
有一下两种解决办法,
方法一:
1-webkit-transform-style: preserve-3d;
2/*设置内嵌的元素在 3D 空间如何呈现:保留 3D*/
方法二:
view source print?
1-webkit-backface-visibility: hidden;
2/*(设置进行转换的元素的背面在面对用户时是否可见:隐藏)*/
八、单屏网页滑动问题
添加
$( document ).on("touchmove",function(e){
e.stopPropagation();
return false;
})
九、键盘弹出问题
解决办法:无,安卓键盘弹出整个页面的window层的高度减小,ios无影响;
十:伪类active失效
要CSS伪类 :active 生效,只需要给 document 绑定 touchstart 或 touchend 事件
使用css3动画用了transition或者animation后会有闪白的现象
-webkit-backface-visibility: hidden;
尽量写成3d使页面运行更流畅
-webkit-transform-style: preserve-3d;
ios横屏时会重置字体大小
text-size-adjust:none
手机上最好是用tap事件 click事件会有300ms的延迟
禁止ios弹出各种操作窗口
-webkit-touch-callout:none
禁止用户选中文字
-webkit-user-select:none
js动态生成的下拉菜单在安卓2.0中不起作用
解决方法:删除了overflow-x:hidden;然后在js生成下拉菜单之后聚焦focus
消除 IE10 里面的那个叉号
input:-ms-clear{display:none;}
ios中文输入法输入英文时会有小空格 解决办法 用正则this.value = this.value.replace(/\u2006/g, '');
三星I9100 (Android 4.0.4)不支持display:-webkit-flex这种写法的弹性布局,
但支持display:-webkit-box这种写法的布局,
相关的属性也要相应修改,如-webkit-box-pack: center;
移动端采用弹性布局时,建议直接写display:-webkit-box系列的布局
touchmove事件在Android部分机型(如LG Nexus 5 android4.4,小米2 android 4.1.1)上只会触发一次
解决方案是在触发函数里面加上e.preventDefault(); 记得将e也传进去。
图片圆角是显示不正常 在图片外面包裹 一个元素 然后给那个元素设置圆角 让图片变成这个元素的背景图片
在android4.2背景会溢出,使用background-clip:padding-box;
ios不会弹出键盘 必须满足下面几点
① 文本框获取焦点
② 手指触屏(网页区域,混合开发触屏app头不能让webview弹出键盘)
③ 没有延迟(不会ajax回调,不会延迟)
移动端开发ios和安卓兼容问题的更多相关文章
- 移动端底部fixed固定定位输入框ios下不兼容
简短记录下最近开发移动端项目碰到的小坑,产品需求做一个售后对话页面,底部固定输入框,和微信对话差不多,但是在ios下,fixed失效,输入框被虚拟键盘挡住,在安卓下是正常的. 尝试过网上说的很多方法, ...
- 年过三十,我为什么要学习ios 与安卓App 移动端技术
今天跟我华为的同学谈了一些技术/人生方面的感悟,感觉自己的人生目标及后面的工作/生活有了一个比较清晰的认识与规划. 首先我谈了一下我为什么要学习ios与安卓技术,我其实不想通过这二门技术来提升我的薪酬 ...
- 职业定位(移动端、ios开发、Android开发)
移动端 移动端webapp开发必备知识:http://www.chinaz.com/manage/2012/1128/283974.shtml 设计一款好的移动App,有哪些基本规则?http://w ...
- html2canvas截屏在H5微信移动端踩坑,ios和安卓均可显示
1.最近在做移动端开发,框架是vue,一产品需求是,后台返回数据,通过qrcode.js(代码比较简单,百度上已经很多了)生成二维码,然后通过html2canvas,将html元素转化为canvas, ...
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
- Swift3.0服务端开发(五) 记事本的开发(iOS端+服务端)
前边以及陆陆续续的介绍了使用Swift3.0开发的服务端应用程序的Perfect框架.本篇博客就做一个阶段性的总结,做一个完整的实例,其实这个实例在<Swift3.0服务端开发(一)>这篇 ...
- ionic3开发ios端
ionic框架是一端开发,三端适用(android端,ios端,web端),意思是在其中一端开发的代码,拿到另外两端,代码同样生效 那现在就说一下在web端开发拿到ios端开发前需要做的事情 开发io ...
- 移动端开发(一. Viewport(视窗))
手机与浏览器 移动端开发主要针对手机,ipad等移动设备,随着地铁里的低头族越来越多,移动端开发在前端的开发任务中站的比重也越来越大.各种品牌及尺寸的手机也不尽相同.尺寸不同就算了分辨率,视网膜屏 ...
- php后台对接ios,安卓,API接口设计和实践完全攻略,涨薪必备技能
2016年12月29日13:45:27 关于接口设计要说的东西很多,可能写一个系列都可以,vsd图都得画很多张,但是由于个人时间和精力有限,所有有些东西后面再补充 说道接口设计第一反应就是r ...
随机推荐
- yii2.0 利用Excel类做导入导出
1.在 common 目录下 创建一个 components 将 Classes目录(改名为PHPExcel)和PHPExcel.php 放在新创建的目录下.再在 components 下创建一个Co ...
- 关于PY的推导式
列表推导式: In [26]: [i*2 for i in range(10)] Out[26]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] 字典推导式: In [29] ...
- sql知识小记
1.在sql语句中,单引号嵌套时,使用单引号做转义
- 在pycharm中配置Anaconda以及pip源配置
在学习推荐系统.机器学习.数据挖掘时,python是非常强大的工具,也有很多很强大的模块,但是模块的安装却是一件令人头疼的事情. 现在有个工具--anaconda,他已经帮我们集成好了很多工具了!an ...
- <转>Openstack ceilometer 宿主机监控模块扩展
<Openstack ceilometer监控项扩展>( http://eccp.csdb.cn/blog/?p=352 )主要介绍了对虚拟机监控项扩展, 比較简单.怎样在ceilomet ...
- Android核心服务解析篇(三)——Android系统的启动
从大的方面来说.Android系统的启动能够分为两个部分:第一部分是Linux核心的启动,第二部分是Android系统的启动. 第一部分主要包含系统引导,核心和驱动程序等,因为它们不属于本篇要讲的内容 ...
- Perfect Rectangle(完美矩形)
我们有 N 个与坐标轴对齐的矩形, 其中 N > 0, 判断它们是否能精确地覆盖一个矩形区域. 每个矩形用左下角的点和右上角的点的坐标来表示.例如, 一个单位正方形可以表示为 [1,1,2,2] ...
- [javase学习笔记]-6.7 封装
这一节我们学习面向对象中的第一个特性,封装(encapsulation) 封装:是指隐藏对象的发生和实现细节,仅对外提供公共訪问方式. 那么什么是隐藏对象的实现细节? 我们来举例学习. 比方我们来定义 ...
- JAVA输出带BOM的UTF-8编码的文件
当从http 的response输出CSV文件的时候,设置为utf8的时候默认是不带bom的,可是windows的Excel是使用bom来确认utf8编码的,全部须要把bom写到文件的开头. 微软在 ...
- android 源码编译sdk
源码下载好以后,想要编译sdk,结果一直失败,今天终于找到正确方法来解决这个问题了. 使用make sdk 编译命令,结果一直报找不到资源.找不到bin/sqite3等,后来操作如下命令就可以了 1. ...