移动端适配问题收集

重置样式相关
移动端浏览器(部分iphone)横竖屏切换时,字体大小变化
检索或设置移动端页面中对象文本的大小调整。
该属性只在移动设备上生效;
如果你的页面没有定义meta viewport,此属性定义将无效;

之前有人提到过使用该属性取消浏览器最小字体限制,已经无效了
-webkit-text-size-adjust: 100%|none;
只对chrome27.0 版本以下有效,27.0以上版本无效;
只对英文才有效,对中文无效。

使用:
-webkit-text-size-adjust : none|100% ;
-moz-text-size-adjust : none|100% ;
-ms-text-size-adjust : none|100% ;
text-size-adjust : none|100% ;
更推荐100%;none可能带来的副作用:这会导致仍然支持 -webkit-text-size-adjust: none;的桌面版的webkit浏览器无法人为放大文字大小

重设可点击元素的点击选中效果
这个属性只用于iOS (iPhone和iPad)。当你点击一个链接或者通过Javascript定义的可点击元素的时候,默认会出现一个半透明的灰色背景,重设这个属性以实现自定义高亮特效
-webkit-tap-highlight-color

去除IOS下输入框、按钮阴影和圆角
input, select,textarea,button {border: 0; border-radius: 0; -webkit-appearance: none;appearance:none;}

禁用文本选中
user-select
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
可能的副作用:个别Android机型(Google Nexus,Android 4.2.2)输入框无法输入
https://stackoverflow.com/questions/12812587/phonegap-styles-webkit-user-select-none-disabling-text-field

两行省略

float定位移动端可能撑不开高度
ul li 使用内容撑开

fixed定位问题

  1. safari下 可能出现的点透问题
    目前发现的复现场景:
    浏览器有标签栏,即打开多个页面
    更容易复现:页面y方向可滚动
    复现方式:竖屏加载页面切换横屏;横屏上下滑动隐藏导航栏以及显示导航栏时
  2. 输入框弹出 fixed定位出错的问题?(新版本的ios已经修复)

滚动事件
常见滚动问题:

  1. “滚动延迟"
    现象:
    当做页面scroll才显示某些元素的功能时,发现某些浏览器下(iphone)滚动期间即使滚动到指定位置并不会触发目标元素显示,而是要停止滚动后才会触发目标元素显示;

在滚动期间会禁止部分由监听scroll事件导致的页面渲染
已知会受到禁止:显示和隐藏(display:block|none) 透明度变化 dom节点增加
不会受到禁止:背景色、字色

解决: 自行实现滚动方案(touch transition动画),借助iscroll better-scroll等库
-webkit-overflow-scrolling: auto 设置在body上 safari会生效 微信内置不会生效
但即使生效 也仍有上述现象

  1. 滚动穿透
    现象:底部页面高度>100%有 fixed 遮罩背景和弹出层时,弹出层的滚动会引起页面滚动
    即使设置 html body overflow:hidden也无效

解决思路:
弹窗出现时: 记录当前滚动位置 设置body为position:fixed
弹窗隐藏时: 恢复body的position设置,恢复当前滚动位置
副作用:弹窗的弹性滚动会失效
-webkit-overflow-scrolling: touch设置到目标弹窗上

横竖屏切换
mediaquery css方案
@media screen and (orientation:landscape)
@media screen and (orientation:portrait)

portrait: 指定输出设备中的页面可见区域高度大于或等于宽度
landscape: 其他所有情况

检测?切换事件?
应用场景:横竖屏切换dom节点不同,切换后需要状态同步
orientation(非标准,仅部分移动端浏览器支持)不建议使用
定时器检测
resize
if(window.innerWidth > window.innerHeight){
meta.init = 'landscape';
meta.current = 'landscape';
} else {
meta.init = 'portrait';
meta.current = 'portrait';
}
减少resize触发频率
进一步:
采用自定义事件订阅与发布模式
重写window.orientation事件
https://segmentfault.com/a/1190000006889504

滑动事件优化:滚动穿透 scroll监听延迟 停止滚动时 才会触发scroll事件 而不是实时触发
用了这个better-scroll(用了之后 window.resize失效?)
https://zhuanlan.zhihu.com/p/27407024

cal()兼容
js计算,设备宽度和高度获取
document.documentElement.clientHeight

一些奇怪的问题:
弹框百分比高度 在chrome模拟器和真机上展示不同
部分webview relative布局层级可能会被fixed定位层级覆盖(重绘时且即使zindex层级比较高)

其他文章收集
http://blog.csdn.net/hardgirls/article/details/51722519

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,783评论 5 472
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,396评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,834评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,036评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,035评论 5 362
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,242评论 1 278
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,727评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,376评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,508评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,415评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,463评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,140评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,734评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,809评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,028评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,521评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,119评论 2 341

推荐阅读更多精彩内容

  • meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 忽略将页面中的数字识别为电话号码 忽略And...
    Mycro阅读 869评论 0 11
  • META相关 1. 添加到主屏后的标题(IOS) 2. 启用 WebApp 全屏模式(IOS) 当网站添加到主屏幕...
    老夫的天阅读 3,061评论 3 21
  • 这是一个最好的时代,因为我们站在潮流中;但也是一个最坏的时代,因为我们站在潮头上。 META相关 1. 添加到主屏...
    泡芙小姐110阅读 691评论 3 17
  • 昨天看到安卓QQ有直接打印资料的功能,看了一下iOS的,没有看到,于是查了一下iOS打印的资料 原理 在iOS里边...
    小堆同学阅读 2,134评论 3 1
  • 生活中,我们经常会遇见这样的人: 他们沉默寡言、不爱说话;他们遇见陌生人不知如何打招呼;他们碰见领导连笑都不好意思...
    小云猪阅读 225评论 0 4