我正在使用角度图表在我的页面上创建条形图。我只希望将高度设置为 80,这样它就不会占用我的页面太多。问题是,当页面大小减小时,例如在移动设备上,图表会自行挤压,因此不清晰。如果我没有设置画布高度,那么它在桌面上太大了,但在小于 768px 的屏幕尺寸上看起来很棒。
当屏幕尺寸高于 768 像素时,如何将画布高度设置为 80,并让它默认为任何较小的尺寸。或者将画布高度设置为高于 768 像素的 80 和任何更小的画布高度为 150。
我一直在拔头发试图弄清楚这一点。
HTML:
<div class="chart-wrapper">
<div class="chart-title">
<b>Annual Sales</b>
</div>
<div class="chart-stage" ng-controller="BarCtrl">
<div>
<canvas id="bar" class="chart chart-bar"
chart-data="data" chart-labels="labels" chart-series="series">
</canvas>
</div>
</div>
</div>
我尝试了一些不同的东西,但画布大小根本没有改变。
这是我的最后一次尝试:
$(document).ready(function() {
var $window = $(window);
var canvas = $('canvas')[0];
var checkWidth = function() {
var windowsize = $window.width();
if (windowsize > 768) {
canvas.height = 80;
}
};
checkWidth();
$(window).resize(checkWidth);
});
我应该注意,我试图保持画布宽度覆盖屏幕的整个宽度。这就是为什么我在较小的屏幕上获得挤压效果的原因。
这是我一直在使用的代码笔:点击这里
这是小屏幕上的挤压效果:
当我尝试使用媒体查询并使用 CSS 设置高度时会发生以下情况(我认为有必要使用 javascript 设置):