前端兼容性问题

移动端:

1.圆角bug

某些Android手机圆角失效

background-clip: padding-box;

2. IOS移动端click事件300ms的延迟响应

移动设备上的web网页是有300ms延迟的,玩玩会造成按钮点击延迟甚至是点击失效。这是由于区分单击事件和双击屏幕缩放的历史原因造成的,

IOS safari下,大概为300毫秒。这就是延迟的由来。造成的后果用户纯粹单击页面,页面需要过一段时间才响应,给用户慢体验感觉,对于web开发者来说是,页面js捕获click事件的回调函数处理,需要300ms后才生效,也就间接导致影响其他业务逻辑的处理。

解决方案:

fastclick可以解决在手机上点击事件的300ms延迟

zepto的touch模块,tap事件也是为了解决在click的延迟问题

触摸事件的响应顺序为 touchstart --> touchmove --> touchend --> click,也可以通过绑定ontouchstart事件,加快对事件的响应,解决300ms延迟问题

3.一些情况下对非可点击元素如(label,span)监听click事件,ios下不会触发,css增加cursor:pointer就搞定了。

4.fixed定位缺陷

ios下fixed元素容易定位出错,软键盘弹出时,影响fixed元素定位

android下fixed表现要比iOS更好,软键盘弹出时,不会影响fixed元素定位

ios4下不支持position:fixed

解决方案: 可用iScroll插件解决这个问题

5.Input 的placeholder会出现文本位置偏上的情况

input 的placeholder会出现文本位置偏上的情况:PC端设置line-height等于height能够对齐,而移动端仍然是偏上,解决是设置line-height:normal

6.在移动端修改难看的点击的高亮效果,iOS和安卓下都有效:

* {-webkit-tap-highlight-color:rgba(0,0,0,0);}

7.消除 transition 闪屏

-webkit-transform-style: preserve-3d;     /*设置内嵌的元素在 3D 空间如何呈现:保留 3D*/

-webkit-backface-visibility: hidden;      /*(设置进行转换的元素的背面在面对用户时是否可见:隐藏)*/

8.安卓浏览器看背景图片,有些设备会模糊,原因是手机的分辨率太小

解决方案: 2X图片来代替img标签,然后background-size: contain

9. 防止手机中页面放大或缩小:

在meta中设置viewport user-scalable = no

10.上下拉滚动条卡顿:

overflow-scrolling: touch;

11. 禁止复制选中文本:

user-select: none;

12. 长时间按住页面出现闪退:

-webkit-touch-callout: none;

13. 动画定义3D硬件加速:

transform: translate 3d(0,0,0);

14.formate-detection 启动或禁止自动识别页面中的电话号码,

content = "yes/no"

15.a标签添加tel是拨号功能

16.横平时字体加粗不一致:

text-size-adjust: 100%;

 

PC端:

1.rgba不支持IE8 用opacity属性代替rgba设置透明度

2. 图片加a标签在IE9中出现边框 解决方案: img{border: none;}

3. IE6不支持display: inline-block       设置为: display: inline

4. position : fixed 不支持IE5/IE6 

5. IE6,Firfox中,width = width + padding + border

6. min-height比兼容IE6/IE7

7. display:inline-block ie6/7不支持

display:inline-block;

*display:inline;

8.height不能小于16px,设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度

解决方案:overflow设置为hidden

9.img浮动  img标签打回车会造成每个图片之间有缝隙

解决方案:可以删除之间的回车键也可以让这些图片浮动

posted @ 2019-06-16 21:47  安静940  阅读(199)  评论(0编辑  收藏  举报