html - -webkit-flex 无法在 Android 上正确显示

标签 html css webkit flexbox

在意识到 display:flex 的奇妙功能后,我制作了一个网页,当从 Windows 上的 Chrome 26 浏览时,它看起来完全符合我的要求。但是,它在我的 Android 上的 Chrome 26 中不起作用,在我的模拟器中的 Android 浏览器 4.1 中也不起作用。根据caniuse ,所有这些浏览器都应该支持它。

也许巧合的是,它在 Android 中的显示方式(据我所知)与我切换到旧版本 display:box 时的显示方式相同。

这是它在 Windows 和 Android 中的对比:

windows vs android

我的问题是,如何防止这些跨设备问题?也许在它变得更标准之前使用 flex 以外的东西会更好。谁能给我提供一个不使用 flex 或适用于 Android 的工作示例?这是一个移动网络应用程序。任何帮助深表感谢。我的代码链接如下。

使用-webkit-flex: JSFiddle

带盒子:JSFiddle

最佳答案

有 3 个具有不同属性/值的 Flexbox 草案需要注意。 Caniuse 仅区分支持当前草案(“支持”)和支持旧草案(“部分支持”)的浏览器。

为了最大限度地支持浏览器,您只需包括从最旧到最新版本的所有浏览器。

.foo {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

.bar {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

虽然目前所有 Android 版本都支持旧的 2009 属性,但将来可能会放弃它们以支持标准属性。另请注意,Blackberry 10 被列为支持当前标准,而不是任何旧草案。

关于html - -webkit-flex 无法在 Android 上正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16595587/

相关文章:

javascript - 如何使可重用导航栏的文本内容包含在所有页面中以反射(reflect)

html - 在使用 z-index 显示之前,让图层显示为透明的问题

javascript - 为什么我的 JavaScript 无法创建这个元素?

html - 解析HTML时的错误处理

HTML5 音频 : preload attribute ignored in Chrome

javascript - 如何在Qt WebKit中将网页保存为 "save as complete webpage"

cocoa - 以编程方式在 WebView 中打开链接

jquery - 当用户接近页面末尾时修复内容而不是滚动

javascript - 在 CSS 中插入 JS

css - 使用 -webkit-radial-gradient 发光