我在dojox.charting.chart
HTML 表中使用 Dojo (1.7.3) 的图表组件 ()(我无法更改它,因为它是其他人提供的一种模板,我必须将图表放在未知位置)。
实际上(简化的)HTML 代码可能如下所示:
<table class="fit-parent">
<tbody>
<tr>
<td>
<div id="chart123" class="full-size-chart"></div>
</td>
</tr>
</tbody>
</table>
它的 CSS 是这样的(考虑full-size-chart
等价于fit-parent
):
.fit-parent
{
width: 100%;
height: 100%;
}
创建图表的代码:
<script type="text/javascript">
require([
"dojox/charting/Chart",
"dojox/charting/themes/MiamiNice",
"dojox/charting/plot2d/Columns",
"dojo/domReady!"
],
function (Chart, theme, ChartType) {
var chart = new Chart("chart123");
chart.setTheme(theme);
chart.addPlot("default", {
type: ChartType
});
chart.addSeries("Series name", chartData);
chart.render();
}
);
</script>
渲染表插入到其他 Dojo 容器 (BorderContainer
和ContentPane
) 中,同时带有标题和边缘面板。网站是用 ASP.NET MVC3 制作的,上面的代码在一个视图页面内,主要布局在_Layout.cshtml
页面内。
问题是图表大小不正确,它大于页面大小并出现滚动。理想情况下,表格应该适合内容框并根据窗口大小调整大小。
绿色框是表格(本例中为 2 行)。图表应该填满整行(因为 100% 的宽度和高度),表格布局是正确的(它填满了“文档区域”,其他一切都很好)。我的代码/布局有问题吗?请记住,我可以更改 HTML(并使用 CSS 类),但我不能要求他们直接使用 CSS 浮动/位置或使用 CSS“想象”最终布局(可能他们使用简单的 HTML 编辑器或记事本)。