Css 条规则被忽略

Css rules ignored

自升级到 iOS 9 后,我的 Web 应用程序的行为发生了变化,现在 显示 所有具有 css 样式 display: nonevisibility: hidden。此 "feature" 在 Safari 和 Chrome 中都可以看到 iOS。 Chrome、Windows 的 Firefox、Safari 和 IE 以及 Android 手机上的相同内容(如预期的那样)被隐藏。该问题似乎与 iOS 有关,但我找不到任何相关信息。

我知道 iOS 9(描述 here and )存在媒体查询错误,但我对页面响应和缩放都没有问题。

还值得注意的是我正在使用 Twitter Bootstrap 3,特别是它们隐藏的 类 在 iOS.

中无法正常工作
<div class="hidden">Hide me please</div>

为什么内容没有隐藏?


更新

我做了一个fiddle来测试。它包含两个隐藏对象,但在这个简化版本中只有一个失败。我预计两者都会像我的真实情况一样失败,但你无法得到你想要的一切 ;)

我想这与经常报告的有关 IOS9 的错误相关,看起来 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

很久以前提出这个问题了,遗憾的是我不记得确切的解决方案。我不得不离开这个项目,几个月后再回来。

我记得它与我项目中 Bootstrap 3 的一些奇怪行为有关,因此没有 iOS 错误。我将更改问题的标题以更好地反映这一点。