我正在构建一个没有画布的 HTML5 游戏,并希望为我的 div 保持 16:9 的比例。这很容易通过 javascript 完成,并且运行良好。但是 div 本身内部的元素有时会变得太大(如果屏幕很大)。我知道最大/最小高度/宽度,但是有没有其他方法可以让它就像游戏被缩放一样?
这是js和css的代码:
function fix() {
var gameWidth = $(window).width();
var gameHeight = $(window).height();
var fitX = gameWidth / 800;
var fitY = gameHeight / 480;
var screenRatio = gameWidth / gameHeight;
var optimalRatio = Math.min(fitX, fitY);
// checking ratio
if( screenRatio >= 1.77 && screenRatio <= 1.79)
{
$('#game').width ($(window).Width + 'px');
$('#game').height ($(window).Height + 'px');
}
else
{
$('#game').width (800 * optimalRatio + 'px');
$('#game').height (480 * optimalRatio + 'px');
}
$('#game').center();
}
该功能完美地完成了它的工作。但这里的 CSS 是我遇到的问题。
#game {
width: 800px;
height: 480px;
background: url(bg.png);
position: relative;
}
.landing {
position: absolute;
width: 20%;
max-width: 190px;
height: 60%;
max-height: 290px;
bottom: 10%;
background: #ff6600;
text-align: center;
}
我想要它,以便在保持 190/290 比率的同时着陆规模......谢谢。