移动端兼容问题总结(1)

原文地址: https://luoyangfu.com/article...

input 键盘类型问题

描述: 在android上只须要更换type 便可更改键盘类型,ios无效。javascript

解决方法:css

须要在表单元素外层增长<form> 标签,才能生效java

文本在android 偏上问题

描述: 在android上小于12px文本上下居中,android 文本显示偏上android

设置字体为11px, 上下居中.

解决方式1:ios

font-size: 22px;
padding: 10px 40px;
border-radius: 40px;
line-height: 22px;
zoom: 0.5;

解决方式2:字体

font-size: 22px;
padding: 10px 40px;
border-radius: 40px;
transform: scale(0.5);
transform-origin: 0% 0%;

这里都是经过先放大,而后在缩小来解决这个问题(这里应该避免使用小于12px 字体的高度)设计

2019.07.11 记录code

方式1,在使用2倍设计稿的状况下可能会失效。方式2会占用当前空间,能够设置 position: absolute 解决。orm

补充解决方式:ip

border-radius: 2px;
font-size: 10px;
padding: 2px 5px;
line-height: normal;
box-sizing: border-box;

ios 输入法顶起页面问题

描述:页面被输入法顶起,致使滚动,没法锁定

解决方式:

在当前容器外层再包裹一层,使用 position: fixed 来解决这个问题,作一个容器内滚动。

iconfont transform 相关操做无效

描述: rotate 一个角度无效

解决方法:

须要直接操做 iconfont::before 这个伪类,不能直接对iconfont操做

.icon::before {
    transform: rotate(90deg);
}

ios 下 document.execCommand(copy) 无效

在ios 下直接使用 input.select() 这种方式无效须要采用下面方式:

input.setSelectionRange(0, data.length)

这种方式来选取文本的长度。