我有以下 CSS:
@@media only print {
@@page {
size: A4 landscape !important;
margin-top: 0mm !important;
margin-bottom: 0mm !important;
}
#tblPrint tbody tr:nth-child(even) {
background-color: #ededed !important;
}
* {
-webkit-print-color-adjust: exact !important;
}
}
问题如下:
@@page属性并不是对所有浏览器都生效,默认浏览器的打印首选项生效,即(Chrome: A4/Landscape), (Edge: A4/Portrait), (IE: A4/Portrait),即使我将 size 属性翻转为 size: A3 portrait !important;同一默认浏览器的打印首选项一直有效。
当我使用“-webkit-print-color-adjust”时,即使我从浏览器的打印首选项中关闭“背景图形”功能,背景颜色属性也会在 Chrome 上生效,但是,它不会除非我从浏览器的打印首选项中打开“打印背景颜色和图像”功能,否则不会在 IE 上生效,因为边缘浏览器无法使 background-color CSS 属性生效。
我需要的解决方案是强制我的 CSS 指定的属性覆盖浏览器的打印首选项,而无需用户指定纸张大小、方向和检查“背景图形/打印背景颜色和图像”从所有浏览器的浏览器打印首选项,请帮助!!
最佳答案
添加样式表的底部
CSS
@media print {
body{ background-color:#000;}
}
关于css - 如何使用 CSS 覆盖各种浏览器的打印首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58726057/