1:禁止事件默认行为,iOS需要添加 passive
具体:https://www.jianshu.com/p/01814808cd47
2:iOS端设置input高度>font-size时
遇见问题:iOS输入文字时,文字在光标下方。
暂未找到解决办法。现有解决方案,根据环境对input坐标进行适配
input高度>font-size的原因是,使用rem对字体适配时,有时文字实际展示的尺寸大于设置的,会字体显示不全。解决方法:设置容器的height大于font-size
----------------------------------------------------------------------------------------
5月7号更新
解决办法:input不设置hight,只设置line-hight,会导致占位符上浮,解决办法,手动写一个占位符盖在input上面
3:监听页面
onbeforeunload:页面刷新或者关闭当前页面窗口时会触发,移动端iOS中测试不生效。
window.onbeforeunload =function (e) {
e = e || window.event
// 兼容IE8和Firefox 4之前的版本
if (e) {
e.returnValue ='关闭提示'
}
// Chrome, Safari, Firefox 4+, Opera 12+ , IE 9+
return '关闭提示'
}
onpopstate:手动点击浏览器上方的前进或者后退时 触发。移动端iOS中测试不生效
window.onpopstate =function(event) {
alert("location: " + document.location +", state: " + JSON.stringify(event.state));
};
https://www.cnblogs.com/susufufu/p/5768441.html
4:date日期转换问题
遇见问题:使用date生成指定时间时,new Date(parseInt(11-12-2016) 在iOS中的不生效
解决方法:改变格式 new Date(parseInt(11/12/2016)
5:iOS原生滚动卡顿问题
在写下拉刷新、上拉加载时,使用了原生滚动,但是在iOS上会有卡顿的效果
解决方法:全局添加css -webkit-overflow-scrolling: touch; 作用是开启硬件加速
CSS
1:元素一行显示,超出内容可滚动
两种处理方式
1:flex布局的元素同时加上overflow scroller
遇见的问题:子元素设置width不生效
解决方法:加上min-width
2:子元素设为inline-block,父元素添加white-space:nowrap
2: 所有毗邻的两个或者多个盒元素的margin将会合并为一个margin共享
毗邻:中间没有内容、border、padding阻拦
解决方法:
如果是父子关系:
1:给父元素添加border、或者padding
2:给父元素添加overflow hidden
3:给子元素添加浮动
如果是同级关系
给第二个div添加float
注意:使用flex布局,可以避免上述现象
网友评论