css - 在 chrome 版本 ~103 发布后,打印网页时出现数百个空白页和/或比例失调(已解决)

标签 css google-chrome printing

即使只有 9 页内容(498 页空白),也正在打印 507 页

1

亲爱的社区,在 chrome 的最新版本之一之后,版本 ~103-105 之后的某个地方,打印网页时出现了一个不幸的错误。 它要么打印成百上千张空白页,要么打印出比例扭曲的输出。 此更改适用于所有基于 chromium 的浏览器(Google Chrome、MS Edge...), 并且尤其出现在带有图表或图形的页面中。

如果其他人遇到此问题 - 原因在于 CSS 属性“position: absolute”。 如果您的代码拥有“position: absolute”,您可能希望根据您的需要将其更改为“fixed”或“relative”。 我的代码需要在 2 个地方更改。 一个需要大量重构,因为更改位置属性迫使我重新计算许多其他元素。 另一个只用了 3 行代码,但要花更长的时间才能找到。 我不得不覆盖“Charts.js”内部 CSS 样式所以我实现了“!重要”标志,就像这样(我的应用程序使用版本 2.9.4):

.chartjs-size-monitor-expand > div {
   position: fixed !important; // cannot stay "absolute"
}

“position: absolute”属性出现在其他 3 个类中,因此如果上述建议还不够——您可能想尝试以下方法(或定位其他包含绝对位置的位置):

.chartjs-size-monitor,
.chartjs-size-monitor-shrink,
.chartjs-size-monitor-expand,
.chartjs-size-monitor-expand > div {
   position: fixed !important; // cannot stay "absolute"
}

希望这对您有所帮助。祝你好运。

最佳答案

同样的问题,也是使用 ChartJS。感谢您发布您的解决方案,它正在为我们工作。注意有一个开放的 Chromium issue关于这个。

关于css - 在 chrome 版本 ~103 发布后,打印网页时出现数百个空白页和/或比例失调(已解决),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74745255/

相关文章:

android - 通过单击链接将主页图标添加到移动设备

html - 更改聚焦文本框周围的选择颜色

c++ - 如何设置来自DeviceCapability的纸质表单?

javascript - 如何使用 javascript、jquery 等创建打印模式

html - @font-face 在 iOS 上不起作用?只是有些字体不起作用?

html - 是否可以在显示背景的同时在 flexbox 之间留出间隙?

css - Chrome 中的百分比行轨道和装订线警告

android - Android WebViewClient 属性中的 "isForMainFrame"请求是什么意思?

javascript - Chrome 77 无法监听 'popstate' 事件?

css - 打印表格时,chrome 和 safari 将一行切成两半