【发布时间】:2017-01-07 22:30:29
【问题描述】:
我有我的网站并想阻止横向模式。我想让用户限制在 potrait 模式下,因为我有自定义标题,在固定位置使用大约 100 像素的屏幕空间。
另外,我希望将其应用于屏幕宽度低于 777 像素的设备。
【问题讨论】:
标签: javascript jquery css html responsive-design
我有我的网站并想阻止横向模式。我想让用户限制在 potrait 模式下,因为我有自定义标题,在固定位置使用大约 100 像素的屏幕空间。
另外,我希望将其应用于屏幕宽度低于 777 像素的设备。
【问题讨论】:
标签: javascript jquery css html responsive-design
使用 css 媒体查询显示标志来转动设备:
#turn {
display: none;
z-index: 100;
position: fixed;
}
@media (orientation: landscape) {
#turn {
display:block;
}
}
<div id="turn">
Please turn your device
</div>
【讨论】:
-(NSUInteger)supportedInterfaceOrientations 内部的硬件/软件配置。作为开发人员,您的工作是为所有可能的情况提供可访问性。如果您不想提供这种可访问性,那么用户将学会按照您的意图使用该网站,否则他们根本不会使用它。
如果您愿意,可以使用 javascript 解决此问题。 出于测试目的,您可以在页面中添加以下代码:
window.onresize = function (event) {
console.log('resizing!');
console.log(`new size: w${window.innerWidth} h${window.innerHeight}`);
if(window.innerWidth < 777) {
// do something
}
if(window.innerWidth > window.innerHeight) {
// do something
}
}
window.innerWidth和window.innerHeight返回的值是一个数字,所以你可以用它来计算。
【讨论】:
我想你可以试试这样的:
@media (orientation: landscape) and (max-width: 777px) {
html {
transform: rotateZ(90deg);
}
}
但显示要旋转的消息会更加用户友好。有些人觉得很难使用纵向模式。
【讨论】: