1

我正在研究 asp.net mvc。我正在尝试设计一个网页,我需要在其中为用户提供打印功能。所以用户可以用颜色和图像打印我的网页。我曾尝试使用媒体查询进行打印,例如,

@media print{
div.div1
{
background-color:red !important;
}
}

或者

<link rel="stylesheet" type="text/css" href="print.css" media="print"/>

它适用于具有静态设计的页面,即元素的颜色和背景颜色将在设计时知道。但是我处于根据特定条件生成具有不同颜色和背景颜色的列表 div 元素的情况。所以我不能为所有 div 编写打印媒体查询,因为它们是动态生成的,我需要为用户提供带有颜色的打印选项。或者有没有其他方法可以在没有媒体查询的情况下打印带有颜色的页面?我怎么能摆脱它,请指导我。

4

1 回答 1

1

尝试这个:

CSS

@media print{
    div.red_print
    {
        background-color:red !important;                
    }
    div.green_print
    {
        background-color:green !important;
    }

}

@media screen{
    div.red_screen
    {
        background-color:red !important;
    }
    div.green_screen
    {
        background-color:green !important;
    }           
}

HTML

<div class="red_print green_screen">Hello World!</div>

这样,背景在打印时为红色,在屏幕上为绿色。这只是一个示例:您必须为每种颜色编写一个类(针对每种媒体)。

于 2013-06-28T12:56:09.530 回答