jquery - 打印具有颜色和背景的动态生成元素的媒体查询

标签 jquery css asp.net-mvc

我正在开发 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/

相关文章:

javascript - 输入和:input有什么区别

asp.net-mvc - 修改模型时更新 View

javascript - getJSON 失败,JSON 验证

javascript - 如何在加载 HTML 页面时清除缓存内存?

javascript - 函数内的单个函数不会触发,而其他函数会触发

asp.net - 如果我使用 InRequestScope(),在哪里执行 DBContext.SaveChanges()

C# Controller 行为根据变量名改变

javascript - 如何在 div 中显示 AJAX 响应数据

javascript - 检测 2 个重叠同级元素上的事件?

css - 为什么我的 Canvas 下面有空隙