【发布时间】:2023-04-04 21:29:01
【问题描述】:
我一直在使用 CSS3 的 Flexbox 布局来安排网站上的组件。在大多数情况下,一切都按预期运行良好。然而,在旧 iPad(运行 iOS 版本 9.3.5(不知道在哪里可以找到 Safari 版本))和三星 Edge 6 的“互联网”应用程序上测试该网站后,我发现了一些问题。内容将完全加载,页脚也将完全加载,但不是将内容加载在顶部,而页脚在下方,页脚似乎随机加载在内容的顶部(当我说在顶部时,我的意思不是在浏览器顶部)。
我已经在最新版本的 Google Chrome 和 Microsoft Edge 以及 iPhone 5 的 Mobile Safari、iPhone 6 的 Mobile Safari 和 Samsung Edge 6 的 Mobile Google Chrome 上测试了该网站;一切都按预期进行。
我按照this 教程(Flexbox)来安排组件。
这是我的代码(包括 webkits 等,我认为会增加兼容性):
html {
height: 100%;
}
body {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
-webkit-box-direction: normal;
-moz-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
min-height: 100%;
}
.content {
-webkit-order: 1;
-ms-flex-order: 1;
order: 1;
-webkit-box-flex: 1;
-moz-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
}
footer {
-webkit-order: 2;
-ms-flex-order: 2;
order: 2;
}
我还加了“order”属性,看看有没有影响,还是没有。
所以我想知道的是,有没有解决方案?或者如果不是,我应该怎么做作为不太现代的浏览器的可接受的后备方案?
谢谢,
马修
【问题讨论】:
-
这里是所有支持浏览器的列表:caniuse.com/#feat=flexbox
-
干杯。对适当的后备有什么建议吗?
-
要建议适当的后备,我们还需要查看标记
-
如果您查看我在此处给出的答案,您会发现一个很好的示例如何避免很多旧的 flexbox 问题:stackoverflow.com/a/34812442/2827823
标签: javascript html css flexbox frontend