这个网站我一直在为我的客户工作,我一直致力于移动布局。我决定在整个网站上使用flexbox布局,但由于一些奇怪的原因,4.4.2的股票android网页浏览器并没有加载任何使用flexbox的元素。 Chrome for Android可以很好地使用flexbox加载我的所有元素。我无法确定发生了什么,但任何可以提供的帮助都会很棒。我的所有代码都在" hoopactivation.x10.mx"如果您使用开发人员工具。如果需要,我也可以在这里发布我的代码,如果有必要的话(无论如何都可能发生。我现在不在我的笔记本电脑附近)。
答案 0 :(得分:2)
在某些Android上,flexbox没有处理内联元素,这似乎流动的元素已经消失。
要解决此问题,您必须将流动的项目强制为display:block
。我试过这个并且它有效,你可以看到这里的细节。
http://browser.colla.me/show/flexbox_make_element_collapse_height_0
答案 1 :(得分:1)
我没有任何特定的代码可以发布,但我自己也遇到过一些有趣的问题。我发现http://thatemil.com/blog/2013/11/03/sticky-footers-flexbox-and-ie10/上的博客文章非常有用,可以解释为支持其他浏览器需要做些什么。我正在使用"现代" flexbox的标准,直到我发现它不能在Android上运行,并发现博客帖子,所以希望它会有所帮助。为了记录,这是粘性页脚的CSS:
/*
Sticky Footer - Flexbox
*/
.flexboxtweener, .flexboxtweener>body {
height: 100%; /* IE 10 */
}
.flexbox {
body {
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex; /* Safari */
display: flex;
-webkit-box-orient: vertical;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
min-height: 100vh;
}
main {
-webkit-box-flex: 1;
-ms-flex: 1 0 auto;
flex: 1 0 auto;
-webkit-flex: 1 0 auto;
}
}
/*
Sticky Footer - w/ JS, no flexbox
*/
html.js.no-flexbox {
position: relative;
min-height: 100%;
footer {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
}
}
/*
Sticky Footer - no JS, no flexbox
*/
// x-small
html.no-js {
main {
margin-bottom: 508px;
}
footer {
height: 508px;
}
}
@media (min-width: @screen-md-min) {
.no-js main {
margin-bottom: 210px;
}
.no-js footer {
height: 210px;
}
}
那是在LESS并使用一些Bootstrap mixins,但希望这有帮助!