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

如何使用CSS覆盖各种浏览器的打印首选项?,css,web,printing,cross-browser,media-queries,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

我有以下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;
            }
}
问题如下:

  • @@页面属性不会在所有浏览器上生效,默认浏览器的打印首选项也会生效,即(Chrome:A4/横向),(Edge:A4/纵向),(IE:A4/纵向),即使我将“大小”属性翻转为“大小:A3纵向”!重要的;同一默认浏览器的打印首选项将继续生效

  • 当我使用“-webkit print color adjust”时,即使我从浏览器的打印首选项中关闭“background graphics”功能,background color属性也会在Chrome上生效,但是,它不会在IE上生效,除非我从浏览器的打印首选项中打开“print background color and Images”功能,至于边缘浏览器,我无法使背景色CSS属性生效


  • 我需要的解决方案是强制我的CSS指定的属性覆盖浏览器的打印首选项,而无需用户指定纸张大小、方向,并检查所有浏览器的浏览器打印首选项中的“背景图形/打印背景颜色和图像”,请帮助

    添加样式表的底部

    css

    @media print { 
        body{ background-color:#000;}
    } 
    

    您应该只添加一个@I尝试了,但它只扭曲了CSS,并且在运行页面时发生了以下错误:“页面”名称在当前上下文中不存在请尝试此。。您的底部所有样式@media print{}也尝试过,但仍然没有更改@页面和背景色在您应该删除的媒体中无效@。。这是打印视图的语法。。所以你应该使用上面的代码。。或者您可以使用单独的样式表来使用媒体打印,您应该将其中的一部分放入答案本身。上面的评论来自审查队列,该答案将被删除。请共享您的css代码。。例如,我将添加打印视图