热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么chart.js画布不尊重容器元素的填充?

如何解决《为什么chart.js画布不尊重容器元素的填充?》经验,为你挑选了1个好方法。

我使用Chart.js和简单的折线图,但Chart.js计算的宽度和高度属性似乎是基于忽略填充的父元素的总宽度和高度.

var optiOns= {
    maintainAspectRatio: false,
    responsive: true
};

var data = {
    labels: ["", "", "", "", "", "", ""],
    datasets: [
        {
            label: "My First dataset",
            fillColor: "rgba(220,220,220,0.2)",
            strokeColor: "rgba(220,220,220,1)",
            pointColor: "rgba(220,220,220,1)",
            pointStrokeColor: "#fff",
            pointHighlightFill: "#fff",
            pointHighlightStroke: "rgba(220,220,220,1)",
            data: [65, 59, 80, 81, 56, 55, 40]
        },
        {
            label: "My Second dataset",
            fillColor: "rgba(151,187,205,0.2)",
            strokeColor: "rgba(151,187,205,1)",
            pointColor: "rgba(151,187,205,1)",
            pointStrokeColor: "#fff",
            pointHighlightFill: "#fff",
            pointHighlightStroke: "rgba(151,187,205,1)",
            data: [28, 48, 40, 19, 86, 27, 90]
        }
    ]
};

var ctx1 = document.getElementById("mychart1").getContext("2d");
var myNewChart = new Chart(ctx1).Line(data, options);
.container {
    padding: 15px 15px 15px 15px;
    width: 300px;
    height: 200px;
    border: 1px solid black;
}

.child {
    display: inline-block;
    border: 1px solid red;
    width:100%;
    height:100%;
}




test

的jsfiddle

第二个容器和子容器显示了我期待的行为.这是Chart.js如何计算画布的宽度和高度的错误,还是我造成了样式错误?



1> gwg..:

我还需要一个响应式画布并且遇到了这个问题.这是我的修复:

由于Chart.js将画布缩放到容器的宽度,忽略填充,我只是将画布包裹在一个div.该div尺度与填充容器,尊重填充,然后响应chart.js之canvas扩展到了div.


推荐阅读
author-avatar
初语2265_781
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有