要使HTML画布适应屏幕并保持宽高比而不切断画布,可以使用CSS和JavaScript来实现。
canvas {
display: block;
max-width: 100%;
height: auto;
}
上述CSS代码将画布的宽度设置为最大宽度,并根据屏幕大小自动调整高度,以保持宽高比。
window.addEventListener('resize', resizeCanvas);
function resizeCanvas() {
const canvas = document.querySelector('canvas');
const aspectRatio = canvas.width / canvas.height;
const maxWidth = window.innerWidth;
const maxHeight = window.innerHeight;
let width, height;
if (maxWidth / maxHeight > aspectRatio) {
width = maxHeight * aspectRatio;
height = maxHeight;
} else {
width = maxWidth;
height = maxWidth / aspectRatio;
}
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
}
上述JavaScript代码会在窗口大小变化时调用resizeCanvas
函数,根据窗口大小计算出适应屏幕的画布宽高,并将其应用到画布的样式中。
这样,无论窗口大小如何变化,画布都会自动适应屏幕,并保持宽高比而不被切断。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)
注意:本回答仅提供了一种实现方式,实际上还有其他方法可以实现相同的效果。
领取专属 10元无门槛券
手把手带您无忧上云