我正在使用Google's Charts js库。它工作得很好,并为我们的数据制作了极好的图表。
不幸的是,由于它是如何创建的,它没有响应,所以如果屏幕尺寸发生变化,它就不会改变以匹配。我通过设置为redraw
的{{1}}函数解决了这个问题,因此修复了。
似乎打印不被视为调整大小事件,因此不会调用重绘。我有一个仅打印的css成型页面的其余部分在打印时看起来很棒,但图表保持与浏览器窗口中相同的大小。我可以缩小窗口,打印时不会搞砸页面缩放,但这不是一个真正的解决方案。
我尝试过:
将window.onresize
添加到print.css - 没有好的
我没有尝试过:
使图表成为一个可以很好地打印的设定尺寸 - 这看起来像是一个黑客,如果可能的话,我宁愿不这样做。
修改
一项修改:Google Charts API在svg{width:100%;}
中将svg创建为<svg>
。它不是背景图像。
答案 0 :(得分:1)
这是推荐:
https://developer.mozilla.org/en-US/docs/Web/CSS/Scaling_of_SVG_backgrounds
和我的解决方案:
经过一些反复试验,这就是我找到的。
添加(到原始CSS):
html {
height: 100%
}
完全按照原始规格提供了我想要的内容。
此外,如果我想让图像在裁剪时居中,我可以使用:
html {
background: url(path/to/image.jpg) no-repeat center center fixed;
background-size: cover;
}
最后,如果我希望它居中,请始终保持纵横比,但不要裁剪(即,某些空格是正常的)然后我可以这样做:
body {
background: url(/path/to/image.svg) no-repeat center center fixed;
background-size: contain;
}