【发布时间】:2019-02-22 10:48:36
【问题描述】:
我正在开发一个新版本的项目,但我在打印 CSS 样式方面遇到了一些问题。
这里是旧项目:
https://www.traffwebdemo.co.uk/parking/main.html
打印步骤:
单击扳手按钮 -> 打印机按钮 -> 选择模板,将打开一个模式,然后您可以在两个方向上打印,它是使用 iframe 和 2 个 css 的混合完成的,一个在主项目中,一个在主项目中在 iframe 本身中。
css 打印隐藏所有内容并在打印时仅显示模态内容,因此如果您尝试直接在主页上打印,您将只有一个白页。
由于地图的限制,我不再使用 iframe,我仍在调用 html 模板,但随后我在模态中克隆了它的主体并再次摆脱了 iframe。
这里是新版本:
https://www.traffwebdev.uk/parking/test.html
项目的两个版本都使用 Bootstrap,但是当旧版本调用 iframe 并且我打印 iframe bootstrap 未加载时,新方法摆脱了 iframe,因此 Bootstrap 会干扰打印。
我在 Chrome 中的方向字段有问题,在所有其他浏览器中没有第二页,但在深入研究 Bootstrap 问题后,我发现这可以通过覆盖 CSS 规则来解决
@page {
size: auto
}
.flex-class {
display: block;
}
现在我在 Firefox 和 Opera 中有第二页,但是...遗憾的是我们的客户使用 IE11...而我在 IE 中没有第二页
如何在 IE 中打印两个页面?这些规则似乎完全被忽略了。
#pllegwrapper {
page-break-inside: avoid !important;
break-inside: avoid !important;
}
#pagesplit {
display: block;
page-break-before: always !important;
break-before: page !important;
}
更新
我已将display: table 应用于包含 2 个页面的主 div,现在我可以在 IE 中打印,但不能在 FF 中打印。
【问题讨论】:
标签: css printing bootstrap-4 cross-browser