一、IOS系统,双击页面,页面会向上移动一节,没法滑动复原。ios
//阻止用户双击放大 var agent = navigator.userAgent.toLowerCase(); //检测是不是ios var iLastTouch = null; //缓存上一次tap的时间 if (agent.indexOf('iphone') >= 0 || agent.indexOf('ipad') >= 0) { document.body.addEventListener('touchend', function(event) { var iNow = new Date() .getTime(); iLastTouch = iLastTouch || iNow + 1 //第一次时将iLastTouch设为当前时间+1 ; var delta = iNow - iLastTouch; if (delta < 500 && delta > 0) { event.preventDefault(); return false; } iLastTouch = iNow; }, false); };
二、使用-webkit-overflow-scrolling: touch;触发滚动时,IOS系统,在出现双滑动会致使内部滑动不了。微信环境下,页面上滑时,会使整个页面上移。如图:web
双滑动,致使内滑动区域没法滑动问题:微信端页面上滑动:
缓存
解决方案:利用IScroll.JS建立滚动区域,或者JS自定义添加滚动。微信
3.MUI框架下,用tap事件代替click事件,致使a标签的href链接跳转失效。框架
解决方案:利用window.location代替href跳转便可。iphone
四、移动端实现1px实线问题。spa
问题:在PC Web端,咱们直接 border:1px solid #ddd;OK,这样没问题。code
但在移动端,这样写,会出现一条很粗的模糊的一条线,很难看,也曾经写过0.5px,但在有些设备会出现显示不出来的现象。因此,最终查看了阿里,京东源码发现都是利用添加伪类来实现,这样写更好一些。orm
解决方法:blog
li{ position: relative; width: 100%; min-height: 2.2rem; } li:after { content: ''; position: absolute; left: 0; bottom: 0; right: auto; top: auto; height: 1px; width: 100%; background-color: #000; display: block; z-index: 15; -webkit-transform-origin: 50% 100%; transform-origin: 50% 100% } @media only screen and (-webkit-min-device-pixel-ratio:2) { li:after { -webkit-transform: scaleY(.5); transform: scaleY(.5) } } @media only screen and (-webkit-min-device-pixel-ratio:3) { li:after { -webkit-transform: scaleY(.33); transform: scaleY(.33) } }