Javascript 如何使HTML元素**在iPad上不可旋转?
我目前正在为iPad开发一个基于HTML5Canvas/JavaScript的绘图应用程序。它在狩猎中运行。到目前为止,除了一件事,一切都很顺利Javascript 如何使HTML元素**在iPad上不可旋转?,javascript,html,ipad,Javascript,Html,Ipad,我目前正在为iPad开发一个基于HTML5Canvas/JavaScript的绘图应用程序。它在狩猎中运行。到目前为止,除了一件事,一切都很顺利 如果我旋转设备,我的UI会自动重新定向。这对于大多数UI来说都很酷,除了画布本身。有没有办法强制画布旋转?如何设置特定于方向的CSS: <link rel="stylesheet" type="text/css" href="css/landscape.css" media="all and (orientation:landscape)">
如果我旋转设备,我的UI会自动重新定向。这对于大多数UI来说都很酷,除了画布本身。有没有办法强制画布旋转?如何设置特定于方向的CSS:
<link rel="stylesheet" type="text/css" href="css/landscape.css" media="all and (orientation:landscape)">
<link rel="stylesheet" type="text/css" href="css/portrait.css" media="all and (orientation:portrait)">
在两个方向中的一个方向上,以抵消自动旋转?设置特定于方向的CSS如何:
<link rel="stylesheet" type="text/css" href="css/landscape.css" media="all and (orientation:landscape)">
<link rel="stylesheet" type="text/css" href="css/portrait.css" media="all and (orientation:portrait)">
在两个方向中的一个方向来抵消自动旋转?如果有人想知道如何在实践中实现Alnitak的答案,那么您可以: CSS: 或者,如果愿意,您可以使用单独的CSS文件 为了使画布坐标系与此同步,您可以使用以下方法:
ctx.save();
...
if(window.orientation == 0 || window.orientation == 180) {
ctx.translate(canvasWidth, 0);
ctx.rotate(Math.PI / 2);
}
...
ctx.restore();
也许还有其他方法可以达到同样的效果,但这对我来说似乎还不错。请注意,保存/恢复上下文状态是一个好主意,这样您就不会在轮换时把它搞砸 如果有人想知道如何在实践中实现Alnitak的答案,那么您可以这样做: CSS: 或者,如果愿意,您可以使用单独的CSS文件 为了使画布坐标系与此同步,您可以使用以下方法:
ctx.save();
...
if(window.orientation == 0 || window.orientation == 180) {
ctx.translate(canvasWidth, 0);
ctx.rotate(Math.PI / 2);
}
...
ctx.restore();
也许还有其他方法可以达到同样的效果,但这对我来说似乎还不错。请注意,保存/恢复上下文状态是一个好主意,这样您就不会在轮换时把它搞砸 好主意。我得试试这个。我想在这种情况下,我必须改变我的画布坐标。只是一些额外的数学题让我来处理。:)如果操作正确,可以保持画布坐标不变-样式值和屏幕上的值不必一致。确定。我会把这个问题保留一段时间(12个小时左右),如果没有其他问题出现,我会接受你的问题。谢谢你的回答。:)在任何情况下,更糟糕的是,您必须对画布的上下文应用统一的缩放转换。你可以保持你的像素坐标在任意方向上都是一样的。好主意。我得试试这个。我想在这种情况下,我必须改变我的画布坐标。只是一些额外的数学题让我来处理。:)如果操作正确,可以保持画布坐标不变-样式值和屏幕上的值不必一致。确定。我会把这个问题保留一段时间(12个小时左右),如果没有其他问题出现,我会接受你的问题。谢谢你的回答。:)在任何情况下,更糟糕的是,您必须对画布的上下文应用统一的缩放转换。然后,可以在任一方向上保持像素坐标相同。