更多内容请移步[我的博客](http://weitianyao.com)
一、我自己的总结:
1、uc浏览器的flexbox兼容性bug,在父元素上应用flex属性时,直接子元素要display: block,否则没有效果。
//兼容uc的 space-around
div{
display: flex;
justify-content: space-around;
font-size: 48/@brem;
color: white;
span{
letter-spacing: 5/@brem;
}
//兼容UC浏览器
>*{
display: block;
}
}
2、android上的uc浏览器父元素display:flex,子元素margin:auto水平垂直居中没效果,加上justify-content和align-items为center即可,在低端android版本上需要再加上text-align=center才能水平居中。
<div><p>wap端水平垂直居中</p></div>
div {
display: flex;
//防止移动端bug
justify-content: center;
align-items: center;
text-align: center;
}
p {margin: auto;}
3、苹果机click事件代理到body,document上会不触发
二、在网上看到的总结如下:
part1
1、最痛恨的是红米手机,ua返回iphone,需要结合platform判断,但是还不准确,导致需要ios和android区别对待的时候就坑了。
2、是fixed的问题。这个解决办法是尽量不要用,不过ios7及以下才会出现这个问题。某些情况下红米也会有这个问题。(最近刚刚遇到,已经被坑挂了)。
3、如果你想要使用css3的动画,那么一定要变着方式使用3d gpu加速的方式,不要试着left,height,width这样的元素进行变换了,android4.4以下版本卡死你。
4、ios全线点击会有300毫秒延迟,使用fastclick解决。这个插件最良心了。
5、web app像素眼设计会纠结你1px边框问题。解决办法有相应知乎大牛答过。
6、qq浏览,uc浏览以及ios的浏览器,滚动时不会触发scroll事件,但会触发touchmove。当停止滚动后会出发scroll。
7、滚动有iscroll插件,但是还是使用原生的比较好。
8、meta功能要用好,禁止缩放,缩放比例,屏蔽电话号码等功能很实用。(手机回答就不列举了)。
9、如果想要像手机淘宝那样的各个平台看起来展示效果一致,那么就使用rem来做单位。
10、-webkit-tap-highlight-color可以取消点击高亮。
11、localStorage在浏览器开启无痕模式下ios会抛异常,导致js中断。
12、一些情况下对非可点击元素监听click事件,ios下不会触发,css增加cursor:pointer就搞定了。当然想要干脆静止点击就是not-allowed。
13、android4.4以下版本,设置圆角属性需要在直接元素上,向父元素设置圆角并且指定overflow:hidden是不会生效的。
part2