css - 如何使用 CSS 覆盖各种浏览器的打印首选项?

标签 css web printing cross-browser media-queries

我有以下 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;
            }
}

问题如下:

  1. @@page属性并不是对所有浏览器都生效,默认浏览器的打印首选项生效,即(Chrome: A4/Landscape), (Edge: A4/Portrait), (IE: A4/Portrait),即使我将 size 属性翻转为 size: A3 portrait !important;同一默认浏览器的打印首选项一直有效。

  2. 当我使用“-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/

相关文章:

css - 浏览器对 CSS 页码的支持

html - 打印模式下 twitter bootstrap 表中的某些行宽度错误且无边框

java - 打印机竞争状况?

html - 流体(可堆叠)内容问题

html - 有哪些网站可以让 "Developer"能够阻止客户端更改 html?

html - Bootstrap hero-unit 没有出现在网络上,可能是 z-index 错误

html - 在本地文件系统上设置 HTML 根目录的绝对路径

java - WebLogic Server::服务器不支持 J2EE Web 模块规范的 3.0 版

php - MySQL Select 语句不输出任何内容

jquery - 使用 jquery 动画时 IE 中的样式问题