强制网站仅以横向模式显示

cou*_*011 82 javascript html5 mobile-browser

我想仅以横向模式显示我的网站,是否可能?用户手中的设备方向无关紧要,但网站将始终处于横向模式.我见过这样的iPhone应用程序,但这可以在网站上完成吗?

Jas*_*ing 113

@Golmaal真的回答了这个问题,我只是更加冗长.

<style type="text/css">
    #warning-message { display: none; }
    @media only screen and (orientation:portrait){
        #wrapper { display:none; }
        #warning-message { display:block; }
    }
    @media only screen and (orientation:landscape){
        #warning-message { display:none; }
    }
</style>

....

<div id="wrapper">
    <!-- your html for your website -->
</div>
<div id="warning-message">
    this website is only viewable in landscape mode
</div>
Run Code Online (Sandbox Code Playgroud)

您无法控制移动方向的用户,但您至少可以向他们发送消息.此示例将在纵向模式下隐藏包装并显示警告消息,然后以横向模式隐藏警告消息并显示纵向.

我不认为这个答案比@Golmaal更好,只是对它的赞美.如果你喜欢这个答案,请务必给@Golmaal一个功劳.

更新

我最近一直在与Cordova合作,当你有权访问原生功能时,你可以控制它.

另一个更新

所以在释放Cordova之后,它最终真的很糟糕.如果你想要JavaScript,最好使用像React Native这样的东西.这真是太棒了,我知道它不是纯粹的网络,而是移动设备上的纯网络体验失败了.


Gol*_*aal 44

虽然我自己会在这里等待答案,但我想知道是否可以通过CSS完成:

@media only screen and (orientation:portrait){
#wrapper {width:1024px}
}

@media only screen and (orientation:landscape){
#wrapper {width:1024px}
}
Run Code Online (Sandbox Code Playgroud)


Mr.*_*. A 33

试试这个可能更适合你

#container { display:block; }
@media only screen and (orientation:portrait){
  #container {  
    height: 100vw;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
  }
}
@media only screen and (orientation:landscape){
  #container {  
     -webkit-transform: rotate(0deg);
     -moz-transform: rotate(0deg);
     -o-transform: rotate(0deg);
     -ms-transform: rotate(0deg);
     transform: rotate(0deg);
  }
}
Run Code Online (Sandbox Code Playgroud)
<div id="container">
    <!-- your html for your website -->
    <H1>This text is always in Landscape Mode</H1>
</div>
Run Code Online (Sandbox Code Playgroud)

这将自动管理均匀旋转.

  • 聪明,但没有真正奏效.旋转页面时大部分页面都不可用,因为只旋转内容而不是实际的浏览器. (7认同)
  • +1使用变换旋转非常酷.聪明. (2认同)
  • 这会打破任何动画,它可能会破坏页面的移动响应. (2认同)