如何在HTML5 / CSS3中将视口锁定为纵向方向

问题描述 投票:3回答:3

是否可以在移动设备上将视口的方向锁定为纵向?

我用Google搜索但无法确切知道该怎么做。

html5 css3 mobile viewport portrait
3个回答
2
投票

根据我的经验,当您从浏览器访问网站时,无法完成。具有锁定方向功能的是浏览器本身 - 例如Safari,Chrome。您的HTML CSS代码无法控制它。

例如,当您构建混合移动应用程序时 - 意味着具有html css和js的应用程序,然后将其转换为移动应用程序,其中包装器作为Web视图。然后您就可以锁定屏幕方向。有一些配置需要完成,稍后将这些配置转换为Objective C或Java。


0
投票

使用CSS我们可以使用;这可能适用于iPhone:

 @viewport {  
   orientation: portrait;  
 }  

这是我们可以添加的链接,它基本上做同样的事情:

<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">

这可能不适用于所有浏览器,但希望会有所帮助。这使用JavaScript来“锁定”方向,第二个将EventListener添加到屏幕以识别方向。

这就是我们锁定方向的方式:

screen.lockOrientation('portrait');

这是我们记录方向的方式:

screen.addEventListener("orientationchange", function () {
  console.log("The orientation of the screen is: " + screen.orientation);
});

0
投票

这个技巧应该有效:

    @media screen and (orientation: landscape) {
      html {
        /* Rotate the content container */
        transform: rotate(-90deg);
        transform-origin: left top;
        /* Set content width to viewport height */
        width: 100vh;
        /* Set content height to viewport width */
        height: 100vw;
        overflow-x: hidden;
        position: absolute;
        top: 100%;
        left: 0;
      }
    }
<h1>Test</h1>

如果您只需要在移动设备上应用此功能,您可以执行一些javascript技巧来识别设备类型,如果是移动设备,则添加类is-mobile-device或其他内容,并在样式定义中指定html.is-mobile-device作为选择器。您可能已经使用了一个为不同设备类型添加类的框架,因此您可以指定这些类。

© www.soinside.com 2019 - 2024. All rights reserved.