canvas
。 itch.io将该HTML文件嵌入到iframe
中,并提供全屏按钮以全屏显示iframe
。 我的游戏在CSS缩放之前以720x960的固定分辨率运行。 itch.io
具有固定大小的iframe
,我可以使用其界面进行设置。我将其设置为720x960以匹配游戏。
我正在尝试为HTML文件编写CSS,以便按如下所示调整画布的大小:
iframe
中时,canvas
会扩展以适合iframe
,如果iframe
的纵横比与游戏的纵横比不同,则保持纵横比和居中。canvas
会扩展以适合屏幕,并保持宽高比并居中显示在屏幕上。首先,我尝试使用样式canvas { width 100%; height 100%}
。这完全适合iframe
,但在全屏模式下将较小的尺寸扩展到屏幕的整个宽度,这意味着较长的尺寸不在屏幕上。
第二,我尝试使用以下内容:
canvas, html, body {
margin: 0;
padding: 0;
}
canvas {
max-width: 100vw;
max-height: 100vh;
position: absolute;
}
@media (min-width: 75vh)
{
canvas {
width: 75vh; /* (720 / 960) * 100*/
height: 100vh;
left: 50%;
transform: translateX(-50%)
}
}
@media (max-width: 75vh)
{
canvas {
width: 100vw;
height: 133.333vw; /* (960 / 720) * 100 */
display: flex;
top: 50%;
transform: translateY(-50%)
}
}
[它在全屏上完美工作,但是将画布从iframe
部分移开(如屏幕截图所示)-我怀疑vh
和vw
是基于窗口的,而不是iframe
。
浏览器获取的HTML(因为pixi.js添加了画布)如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>webpack App</title>
<style>
<!-- CSS as above is here -->
</style>
</head>
<body>
<canvas width="720" height="960" style="touch-action: none; cursor: inherit;"></canvas>
<script src="bundle.js"></script>
</body>
</html>
要在HTML文件中包含以使其适合iframe并在全屏显示时也可以适当扩展的CSS是什么?
我正在移植我写为pixi.js HTML5游戏的游戏,可以将其嵌入itch.io。我的游戏打印到HTML文件上的画布上。 itch.io将该HTML文件嵌入到iframe中,并提供完整的...
max-height
和max-width
以适合纵横比。