iOS 9 bug - css规则被忽略

时间:2015-11-03 15:46:35

标签: css web-applications twitter-bootstrap-3 ios9 iphone-standalone-web-app

自升级到iOS 9以来,我的网络应用已更改了行为,现在显示所有内容均为css样式display: nonevisibility: hidden。这个“功能”可以在Safari和Chrome for iOS中看到。 Chrome,Firefox,Safari和IE for Windows以及Android手机上隐藏了相同的内容(如预期)。问题似乎与iOS有关,但我找不到任何有关它的信息。

我知道iOS 9存在媒体查询错误(描述为herehere)但我既没有问题,也没有关于页面的响应性和缩放问题。

另外值得注意的是我使用的是Twitter Bootstrap 3,它特别是它们隐藏的类在iOS中无法正常工作。

<div class="hidden">Hide me please</div>

为什么内容没有隐藏?

更新

我做了一个fiddle进行测试。它包含两个隐藏的对象,但在这个简化版本中只有一个失败。我希望两者都像我的真实场景一样失败,但你无法得到你想要的一切;)

2 个答案:

答案 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错误。我将更改问题的标题以更好地反映这一点。