【发布时间】:2016-06-12 16:36:11
【问题描述】:
我有一个 qwixx 游戏的在线记分卡,使用 "display: flex" 和 "vmin" 作为边距和字体大小。所以它使用完整的视口并且响应速度非常快。
但我的问题是智能手机/平板电脑的纵向模式以及缺少通过网页强制横向模式的可能性。
如果用户锁定了他的方向或使用应用程序显示不支持横向模式的页面(例如 barcoo),我想在纵向模式下也给他横向的记分卡。
所以我尝试了“transform: rotate(90deg)”。
旋转效果很好,但响应式缩放效果不佳。看来浏览器在计算 flex 布局的宽度和高度时没有考虑旋转。
我使用的相关 CSS:
html, body, .container-fluid {
height: 100%;
}
.row {
display: flex;
display: -webkit-flex;
height: calc(100% / 6);
}
.btn {
flex: 1;
-webkit-flex: 1;
}
body {
webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
@media all and (orientation:portrait) {
body {
webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform: rotate(90deg);
transform: rotate(90deg);
}
}
有人已经提出了这个问题并给我一个提示如何解决这个问题?或者可以给我一个替代解决方案的提示吗?
所需的行为是:在纵向模式下,页面应旋转 90 度,方法是使用完整的视口保持 flexbox 的响应式缩放行为。
【问题讨论】:
-
链接失效。这正是不允许仅链接问题的原因,您必须在问题本身中包含所有必要的代码。
-
为什么该链接对您不起作用?我将尝试制作一个 jsfiddle 并提取问题所需的所有 html/css。
-
哦,我明白了,我必须等待 10 秒才能加载链接。但我仍然不明白所需的行为。
-
哦,没错,对不起。它是 heroku 的一个测试应用程序实例,如果它因为在最后几分钟没有加载而休眠,则第一个页面加载需要几秒钟。期望的行为是:纵向模式应该通过保持 flexbox 的响应缩放行为来将页面旋转 90 度。
标签: css responsive-design flexbox css-transforms