@media screen and (orientation:portrait) {
// CSS applied when the device is in portrait mode
}
@media screen and (orientation:landscape) {
// CSS applied when the device is in landscape mode
}
或者通过绑定JavaScript方向更改事件,如下所示:
document.addEventListener("orientationchange", function(event){
switch(window.orientation)
{
case -90: case 90:
/* Device is in landscape mode */
break;
default:
/* Device is in portrait mode */
}
});
{
"display": "standalone", /* Could be "fullscreen", "standalone", "minimal-ui", or "browser" */
"orientation": "landscape", /* Could be "landscape" or "portrait" */
...
}
4条答案
按热度按时间jljoyd4f1#
您无法将网站或网络应用程序锁定在特定方向,这违反了设备的自然行为。
您可以使用如下CSS3介质查询检测设备方向:
或者通过绑定JavaScript方向更改事件,如下所示:
如html5rocks.com中所述,现在可以使用
manifest.json
文件强制方向模式。您需要将这些行包含到json文件中:
您需要将清单包含到html文件中,如下所示:
不太确定webapp清单上对锁定方向模式的支持是什么,但chrome肯定在那里。当我有信息时会更新。
vwkv1x7d2#
将强制它更改为并保持横向模式。在Nexus 5上测试。
http://www.w3.org/TR/screen-orientation/#examples
bz4sfanl3#
我使用的一些css如下(基于css tricks):
qzlgjiam4#
我有同样的问题,这是一个丢失的manifest.json文件,如果没有找到浏览器决定与方向是最适合的,如果你不指定文件或使用错误的路径。
我修正了在html头上正确调用manifest.json的问题。
我的html标题:
以及manifest.json文件内容:
要生成您的收藏夹图标和图标,请使用此网络工具:https://realfavicongenerator.net/
要生成清单文件,请用途:https://tomitm.github.io/appmanifest/
我的PWA工作得很好,希望对你有帮助!