有没有办法强制移动设备上的水平/横向布局?

Cod*_*oso 9 iphone mobile mobile-website

我正在构建一个网站的移动版本,在这种特定情况下,它在水平布局中看起来很完美.有没有办法强制这种布局无论用户设置是什么?

一些普遍的方式的答案是值得赞赏的,但如果你知道如何在任何特定的平台(iPhone,Android ..)上实现这一点,那么也许我们可以收集一套体面的规则来瞄准大多数移动用户.

Mic*_*any 10

有一个黑客可以做到这一点,但我认真建议不要使用它 - 你的设计应该适应是否有人处于纵向或横向模式.

步骤1:查询window.orientation属性以查看您是处于横向模式还是纵向模式

第2步:如果您处于纵向模式,请在包裹整个页面的div上使用-webkit-transform rotate(-90)将其强制转换为横向布局.

这将无法正常工作 - 浏览器UI仍将处于纵向模式,但可能用户会发现他们应该将手机旋转回横向模式以查看内容.这对用户来说非常烦人 - 他们可能有充分的理由试图以纵向模式阅读您的网站.

  • 在我正在从事的项目中实现了这一目标,结果并不理想。如果可以,请远离此。这显示了不良的UI / UX,我认为它更适合与媒体查询一起显示某种消息,而不是尝试旋转整个“ HTMLelement”。 (2认同)
  • 此外,最好的解决方案是对纵向和横向视图都有一个答案,而不是依赖于 hack。 (2认同)

小智 5

尝试将此Meta添加到<head>

<meta name="viewport" content="width=480">
Run Code Online (Sandbox Code Playgroud)

在垂直模式中存在水平滚动条将提示用户他/她需要旋转到横向.我没有看到很多用例 - 但我已经看到了一些游戏和地图应用程序,所以它并不完全是邪恶的.

  • 一个有趣的解决方案,但需要其他手机尺寸的一些条件 (2认同)