自升级到iOS 9以来,我的网络应用已更改了行为,现在显示所有内容均为css样式display: none
和visibility: hidden
。这个“功能”可以在Safari和Chrome for iOS中看到。
Chrome,Firefox,Safari和IE for Windows以及Android手机上隐藏了相同的内容(如预期)。问题似乎与iOS有关,但我找不到任何有关它的信息。
我知道iOS 9存在媒体查询错误(描述为here和here)但我既没有问题,也没有关于页面的响应性和缩放问题。
另外值得注意的是我使用的是Twitter Bootstrap 3,它特别是它们隐藏的类在iOS中无法正常工作。
<div class="hidden">Hide me please</div>
为什么内容没有隐藏?
更新
我做了一个fiddle进行测试。它包含两个隐藏的对象,但在这个简化版本中只有一个失败。我希望两者都像我的真实场景一样失败,但你无法得到你想要的一切;)
答案 0 :(得分:2)
我想这是与IOS9经常报道的bug有关的宽度,看起来Safari可能没有正确考虑媒体查询。
可能的解决方法可能是在meta viewport
:
initial-scale=1.0001
minimum-scale=1.0001
maximum-scale=1.0001
user-scalable=no
不要在元视口中设置页面宽度!这只会导致更多问题。
总而言之:<meta name="viewport" content="initial-scale=1.0001, minimum-scale=1.0001, maximum-scale=1.0001, user-scalable=no"/>
如果有效,您可以设置一个javascript,仅为IOS9 webkit添加特定的meta viewport
。
答案 1 :(得分:0)
很早以前就提出了这个问题,可惜我不记得确切的解决方案。我不得不离开项目,几个月后又回到了项目上。
我记得它与我的项目中Bootstrap 3的某些奇怪行为有关,因此没有iOS错误。我将更改问题的标题以更好地反映这一点。