我有画布,我可以在其中绘制内容。内容的宽度是恒定的,但高度会发生变化。这是一个列表 - 一个地图传说。问题是我不知道我会事先得到多少物品,既不是他们的大小。根据内容动态调整画布大小
如果我将高度设置为例如。 800对于更长的列表来说很好,但对于只有少数几个元素的列表来说,它太高了,并且很多空白仍留在底部,再加上不必要的滚动(它被放置在div
和overflow: auto
之间,所以我可以在更长的图例出现)。
但是我知道最后一个像素Y位置之后我画出了每一个元素。是否有可能以某种方式修剪剩余空间或强制调整画布大小?
编辑:代码
<div class="legend">
some stuff here
<div id="canvas">
<canvas id="cv"></canvas>
</div>
</div>
#canvas {
width: 100%;
max-height: 100%;
}
我设置使用#canvas
高度:
document.getElementById('canvas').style.height = finalSize
了解总高度之后。
调整画布大小将清除其内容首先在临时画布上绘制项目,调整可见画布的大小然后在可见画布上绘制临时画布的内容。 – Andreas