我想制作一个矩形画布来模拟进度条,但是当我将画布的宽度和高度设置为100%时,它实际上并没有像父对象一样高和宽
甚至可以制作非正方形的画布吗?我不想对画布的高度和宽度进行硬编码,因为在更大或更小的屏幕(包括移动设备)上查看时,画布应该动态更改
您的示例有几个问题:
<div>
height
width
position:static
position:relative
absolute
fixed
上面链接的示例使用CSS设置div大小并使其成为定位父对象。它创建了一个JS函数(如下所示),以将画布设置为与其放置的父对象相同的 _显示_尺寸,然后调整内部width和height属性,使其像素数与显示的相同。
var canvas = document.querySelector('canvas'); fitToContainer(canvas); function fitToContainer(canvas){ // Make it visually fill the positioned parent canvas.style.width ='100%'; canvas.style.height='100%'; // ...then set the internal size to match canvas.width = canvas.offsetWidth; canvas.height = canvas.offsetHeight; }