通常是采用伪元素模拟的方式css
.scale{
position: relative;
border:none;
}
.scale:after{
content: '';
position: absolute;
bottom: 0;
background: #000;
width: 100%;
height: 1px;
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}
复制代码
其余border-shadow,svg的方式也能够,根据项目实际状况选择,若是项目移动端适配用的flexible.js作适配,那就很容易作到。html
具体几种方法详见:html5
关于移动端开发1px边框的一些理解及解决办法android
通常懒人处理点透的方案都是引用fastclick,可是这个插件在某些场景下也有坑,通常要用它的话最好fork下源码而后修改一下,开发中遇到了如下2个坑:git
1.安卓某些版本触发两次点击问题github
2.光标移位问题(这个问题排查了了很久才找到是fastclick的问题)segmentfault
这种输入在页面下方的布局也很常见,通常评论,留言,聊天都会使用这种布局,可是有时候弹起的键盘会盖住输入框,解决方案以下:
移动web页面,input获取焦点弹出系统虚拟键盘时,挡住input,求解决方案?
web移动端浮层滚动阻止window窗体滚动JS/CSS处理
使用了rem作适配后使用具体值设定border-radius,不要用百分比,不然有些安卓机上50%是个椭圆形。
这个我line-height居中,定位+transform,flex居中都试过,但都是偏上一些,不能垂直居中,最后仍是用的zoom解决。
把input的line-height设为normal
input{
line-height:normal
};复制代码
详细原理看stackoverflow上的这个回答:
通常在全部元素最外层再包一个大盒子.wrapper
.wrapper{
position:relative;
overflow:hidden;
}复制代码
stackoverflow上有好几种处理方法,能够顺便参考下:
Does overflow:hidden applied to <body> work on iPhone Safari?
这种输入框在固定在最上面布局很常见,可是用ios下当键盘弹起时fixed会失效。解决办法在下面文章里:
一句话解释就是把页面滚动改成容器内滚动。
JavaScript中的Date对象在Safari与IOS中的“大坑”
滚动的容器加上这个
-webkit-overflow-scrolling: touch;
复制代码
移动端滚动懒人推荐使用better-scroll,很好的插件
ios滚动动画中止的缘由及其余解决办法:CSS3 动画在 iOS 上为何会由于页面滚动也中止?
element {
-webkit-touch-callout:none;
}
复制代码
<meta name = "format-detection" content = "telephone=no">
复制代码
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);复制代码
-webkit-text-size-adjust:100%;
复制代码
.box {
-webkit-transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
} 复制代码
尽可能使用transform,避免使用height,width,margin,padding等。能够开启GPU硬件加速,但用硬件加速的时候也要注意,由于这个也有坑,不合理使用反而会让应用愈来愈卡!