同样的代码,为啥在苹果手机上的input按钮就自带渐变效果,搞特殊吗?怎么让它显示正常?只须要加上outline:0px; -webkit-appearance:none; 清除原有样式,同时苹果手机上的input按钮自带圆角须要按须要去掉css
缘由:在iPhone上点击input框会有一个动画效果,这是苹果公司默认设置的,每次input获取焦点都会使页面放大,效果很是很差看,通过多方百度寻求到了一个完美的解决方案web
<!--加入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便可。
有时候,明明已经用了简单粗暴的媒体查询viewport的方式:浏览器
<meta name="viewport" content="width=device-width, initial-scale=0.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
可是,仍是会出现不适配的问题哦,那就在原有页面的基础上,再针对相应的屏幕大小单独写样式作适配。ruby
@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*/ }
PS:其实也能够直接使用实际的app
device-width:如device-width:375px
测试的时候发现了一个bug,移动端的input都不能输入了,后来发现原来是这个梗iphone
-webkit-user-select :none ;
缘由:在移动端开发中,咱们有时有针对性的写一些特殊的重置,在整个项目之中有一个需求,禁止用户进行复制.选择.,因而写了这样的代码 -webkit-user-select: none;影响到了input获取焦点。测试
办法:把-webkit-user-select:none改为-webkit-user-select:auto;覆盖掉或者直接注释掉就行,个人项目是须要的,就不用注释了。动画
缘由:手机端事件以下spa
touchstart –> touchmove –> touchend or touchcancel –> click
由于在touch事件触发以后,浏览器要判断用户是否会作出双击屏幕的操做,因此会等待300ms来判断,再作出是否触发click事件的处理,因此就会有300ms的延迟插件
解决方法:使用touch事件来代替click事件,如 zepto.js 的tap事件和fastClick,注:每次我都使用fastclick解决,这个插件最良心了,都有相应的事件能够代替click事件解决这个问题,大力推荐。