这几天遇到了一个比较坑爹的问题,曾经比较好用的position:fixed;属性竟然在IOS 7.0系统中成了BUG,当同事跟我说这个问题的时候我纠结半天,开始以为只是iPhone 5中的7.0有这个问题,后来竟然发现所有IOS 7都存在此问题,传说要到7.3才修复,就目前态势来说估计是得到8.0才会修复了。
![](https://img-blog.csdn.net/20150527123312783)
先说问题:
如果你想点击某个按钮,然后出现一个新的DIV层,为了让DIV层占据在固定位置,无论您如何滚动始终在那里。一直都是用position:fixed;来实现。这已经是用烂了的方法了,可惜IOS 7不买账。当你在A层级有input输入框的时候,而且输入框处于获得焦点状态,也就是键盘是打开的。当你点击某个按钮想让B层出现的时候,input会失去焦点,同时键盘关闭,B层出现。这个时候如果你B层是top:0;而且是position:fixed;那么恭喜你,界面混乱了,这个时候你只需要上下滑动下就会恢复为正常状态。可是。。。我想这样的界面我想没人想看到,就像這樣子
解決方法:在html頁面中加入這句就一切搞定
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi">