javascript - 有没有办法强制画布只用高度而不是宽度重新缩放?
问题描述
我正在建立一个网站,其中在可以调整大小的 div 内的画布上绘制图表。每当我调整 div 的大小时,画布也会调整大小以适应 div 的整个宽度,但是这会在上方和下方留下很多空白空间,看起来并不好看,而是画布适合整个高度,然后剪辑超出 div 的末端这意味着用户可以根据自己的喜好缩放图表,而上下没有空白。
有没有办法强制画布随高度缩放?
以下是构成图表的 HTML 元素:
<div class='graphHolder' id='graphHolder1'>
<div class='graph' id='graph1'>
<canvas class='chart' id='chart' height='100%'></canvas>
</div>
</div>
以下是这些元素的 CSS:
.graphHolder {
width: 300px;
height: 150px;
position: absolute;
top: 50px;
left: 50px;
display: flex;
justify-content: center;
align-items: center;
background: rgba(0,0,0,0.3);
overflow: hidden;
resize: both;
border: 1px solid #d62828;
border-radius: 10px;
}
.graph{
width: -moz-calc(100% - 5px);
width: -webkit-calc(100% - 5px);
width: calc(100% - 5px);
height: -moz-calc(100% - 5px);
height: -webkit-calc(100% - 5px);
height: calc(100% - 5px);
background: ;
display: flex;
justify-content: center;
align-items: center;
}
.chart {
width: calc(100% - 5px);
height: calc(100% - 5px);
background: white;
border: ;
}
解决方案
推荐阅读
- pandas - 使用 pandas 加入多个软键和多个具有不同名称的硬键
- php - redirect() 将整个 URL 添加到根
- wpf - 将一个项目的数组加载到 WPF 列表框中
- mongodb - MongDB 通过部分复合键数组查询
- sql - 如何在批量插入中找到瓶颈
- arrays - 如何在 React Redux 中的子组件中访问数组的属性?
- hive - Hive 仅从 hdfs 导入某些文件类型
- r - 使用 dplyrs 组运算符的 NPV 函数
- google-bigquery - BigQuery - 通过 CLI 安排的查询
- opengl - 如何使用stencil buffer实现分层剪裁