我正在开发 asp.net mvc。我正在尝试设计一个网页,我需要在其中为用户提供打印功能。这样用户就可以用颜色和图像打印我的网页。我已经尝试过打印媒体查询,例如,
@media print{
div.div1
{
background-color:red !important;
}
}
或
<link rel="stylesheet" type="text/css" href="print.css" media="print"/>
对于具有静态设计的页面,它工作正常,即元素的颜色和背景颜色将在设计时知道。但是我的场景是根据特定条件生成具有不同颜色和背景颜色的列表 div 元素。所以我不能为所有 div 编写打印媒体查询,因为它们是动态生成的,我需要为用户提供带有颜色的打印选项。或者有没有其他方法可以在没有媒体查询的情况下打印彩色页面?我怎样才能摆脱它,请指导我。
最佳答案
试试这个:
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>
这样,背景在打印时是红色的,在屏幕上是绿色的。这只是一个示例:您必须为每种颜色编写一个类(针对每种媒体)。
关于jquery - 打印具有颜色和背景的动态生成元素的媒体查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17364763/