html - 如何使用 HTML5 和 CSS3 制作可打印的条形图?

标签 html css printing graph

我最近创建了一个使用 HTML5 和 CSS3 绘制条形图的网页。这是我第一次这样做,我按照此处给出的说明进行操作:http://www.htmlgoodies.com/html5/tutorials/bar-graph-with-css3-and-progressive-enhancement.html#fbid=gG6mmpDnQDn

总而言之,就是为每个栏创建一个 DIV 标签,并使用 CSS 设置每个栏的大小和颜色。具体来说,使用 background-color CSS 属性。

在用户打印该页面之前,这非常有用,我确实希望该页面被打印多次。

问题是 Web 浏览器通常会从页面的打印版本中忽略背景图像和颜色。这会导致条形图根本不打印!

Chrome 允许用户选中一个框,指示应该打印背景图像和颜色,但我说“要打印这个,请使用 Chrome 并确保选中那个框 yada yada yada”是不切实际的。

我采用的一个权宜之计是使用 CSS 指定在打印文档时,应该在条形图周围绘制一个边框,但这只是一个边框;它根本没有填满栏。

如何使用 HTML5 和 CSS3 制作在大多数浏览器配置下都能正确打印的条形图。

最佳答案

添加this style对于 Chrome:

:root {-webkit-print-color-adjust: exact;}

这将您的用户说明简化为“要打印此文件,请使用 Chrome”。

否则,您可能需要像@MiltoxBeyond 建议的那样求助于 SVG。

关于html - 如何使用 HTML5 和 CSS3 制作可打印的条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31459011/

相关文章:

python - 如何在 Ironpython (Python.net) 中得到 'print' 的除法结果?

带有 .html() 和 .append() 的 Javascript/Jquery "create"元素

javascript - JS 选择的元素在 css 菜单中没有正确显示

javascript - 如何在 div 内的输入元素外部单击?

希伯来语 Niqqud 的 HTML CSS 样式

css - 为什么打印时页面元素不会隐藏?

html - 使用伪类创建 CSS 进度条/步进器

javascript - 如何从隐藏元素中获取 BoundingClientRect? (不适用于 IE)

Css - 无法更改 <a> 标签上的垂直位置

javascript - 打印被 Angular 过滤器 chop 的字符串