美文网首页
[移动端总结和手机兼容问题]

[移动端总结和手机兼容问题]

作者: clfeng | 来源:发表于2017-08-22 14:41 被阅读0次

转自
H5页面窗口自动调整到设备宽度,并禁止用户缩放页面
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
(部分安卓手机的UC浏览器写完以后还是可以放大缩小)
忽略将页面中的数字识别为电话号码
<meta name="format-detection" content="telephone=no" />(iOS上会明显 有时候会把数字当成电话号码)
忽略Android平台中对邮箱地址的识别
<meta name="format-detection" content="email=no" />
viewport模板
<meta charset="utf-8">
<meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta content="telephone=no" name="format-detection">
<meta content="email=no" name="format-detection">

webkit表单元素的默认外观怎么重置
.css{-webkit-appearance:none;} (ios上的下拉框会有圆角,所以要写border-radius:0)

在input框获得焦点时文字被清空用value 在input框输入文字时被清空用placeholder

webkit表单输入框placeholder的文字能换行么?ios可以,android不行,在textarea标签下都可以换行

html,body{
overflow: hidden;/手机上写overflow-x:hidden;会有兼容性问题,如果子级如果是绝对定位有运动到屏幕外的话ios7系统会出现留白/
-webkit-overflow-scrolling:touch;/流畅滚动,ios7下会有滑一下滑不动的情况,所以需要写上/
position:realtive;/直接子级如果是绝对定位有运动到屏幕外的话,会出现留白/

}

手机上的flex布局时会有兼容性问题,只用新版本的会出现安卓手机不识别的现象
.box{
display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. /
display: -moz-box; /
老版本语法: Firefox (buggy) /
display: -ms-flexbox; /
混合版本语法: IE 10 /
display: -webkit-flex; /
新版本语法: Chrome 21+ /
display: flex; /
新版本语法: Opera 12.1, Firefox 22+ /
}
.box>li{
-webkit-box-flex: 1.0;
box-flex: 1.0;
-webkit-flex: 1.0;
flex: 1;
width: 0;/
解决兼容性问题*/
}

输入框的兼容性解决
input[type="text"],
input[type="date"],
input[type="tel"],
input[type="email"],
input[type="password"]{
-webkit-appearance: none;
display: block;
width: 100%;
height: 0.8rem;
line-height:normal;/手机上的line-height不能写成和height的值一样,会出现再次输入光标靠上的现象/
background: none;
font-size: 0.32rem;
padding-left: 0.28rem;
border-radius: 0;
-webkit-border-radius: 0;
border: 1px solid #d5d5d5;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
outline: none;
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-ms-transform: translateZ(0);
-o-transform: translateZ(0);
transform: translateZ(0);/解决加入js后input框输入瞬间变白的现象/
}

禁用 radio 和 checkbox 默认样式
input[type="radio"]::-ms-check,input[type="checkbox"]::-ms-check{
display: none;/这样就可以用class自定义样式/
}

webkit表单输入框placeholder的颜色值
input::-webkit-input-placeholder{color:#999;}
input:focus::-webkit-input-placeholder{color:#999;}

手机上的多行省略
.overflow-hidden{
display: box !important;
display: -webkit-box !important;
overflow: hidden;
text-overflow: ellipsis;
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;/第几行出现省略号/
/text-align:justify;不能和溢出隐藏的代码一起写,会有bug/
}
文本标签line-height:1或者是line-height等于height文字会被切掉

手机上浮动元素能写宽尽量写宽不然很容易出现兼容性问题,尽量不要写高,因为内容多少不固定

给不同屏幕大小的手机设置特殊样式

@media only screen and (min-device-width : 320px) and (max-device-width : 375px){}

<button></button>元素一定要写上type属性不然会默认提交表单,出现想不到的bug

某些安卓手机的自带浏览器不识别onkeydown onkeypress onkeyup事件,这些事件会导致不能输入汉字
input框若是不想输入文字 只能读不能写可以加readonly属性
手机上用背景图写运动,如果需要背景图定位来实现运动效果可以用rem进行计算后加上basckground-size:图的个数*100% 0;
写背景图时最好加上top left 或者0 0 不然写运动效果时容易出现跳

弹层的关闭事件容易触发弹层关闭后下一层的事件所以要给弹层关闭事件加上event.preventDefault()
弹层弹出后不允许屏幕滚动给弹层加mousemove事件event.preventDefault()
面包屑导航如果按照bootstrap给li加:after伪元素的话在其他浏览器和在UC浏览器中表现的不一样,UC的的会比其他的浏览器宽,所占位置更多

如果一个手机看到的和其他手机不一样 会比其他的手机大或者小,查看他的浏览器字体设置是否正常,应该是他把手机浏览的字号调小或者调大了(坑人的所谓的bug)

IOS手机中如果出现一个元素的层级非常高可还是被别的元素遮盖的,那么就将该元素与别的元素同级

苹果手机固定定位有bug 检查html和body是不是设置了overflow-x:hidden;

相关文章

  • 移动端总结和手机兼容问题

    H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 (部分安卓手机的UC浏览器写完以后还是可以放大缩小) 忽略将页...

  • [移动端总结和手机兼容问题]

    转自H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 (部分安卓手机的UC浏览器写完以后还是可以放大缩小)忽略将...

  • Javascript常见问题解决方法!

    移动端兼容问题方案总结 rem 淘宝解决方案https://github.com/amfe/lib-flexibl...

  • 移动端总结

    移动端技巧总结 对移动端开发和适配的技巧总结,主要从适配和注意事项两方面进行总结 1.媒介查询 2. 手机端加一个...

  • css3属性background-size的学习总结及兼容解决

    目录 定义 css语法 DOM原生语法 jQuery语法 兼容问题移动端4.4- Android手机不支持css3...

  • 第十四天

    IOS和Android常见兼容问题? 1.IOS移动端click事件300ms的延迟相应移动设备上的web网页是有...

  • 针对移动端的兼容问题总结

    1.为了使用safari中的辅助功能,iOS10会忽略meta标签的'user-scalable=no' 2.安卓...

  • 移动端兼容问题

    1,ios软键盘弹出时候遮挡输入框 这类问题主要出现在input,textarea等输入框在页面底部的时候,ios...

  • 移动开发h5表单键盘弹出问题

    最近在做移动端开发,每过一段时间,发现又出现新的兼容问题,这次也不例外。 ios手机 之前ios手机是没有问题的,...

  • html移动端的兼容问题

    html移动端的兼容问题:1.iOS手机上点击事件按下之后会会先一个灰色遮罩层这是因为iOS手机默认增加了高亮显示...

网友评论

      本文标题:[移动端总结和手机兼容问题]

      本文链接:https://www.haomeiwen.com/subject/wxrldxtx.html