JavaScript设置打印样式表

4

如何在打印样式表中修改对象的样式?如果有帮助,我正在使用jQuery。

我想要设置一个对象的CSS属性,但只想在打印时应用该属性,而不是屏幕。例如:$('#myobject').css('background','white','print');


你的问题不太清楚。请发布足够的代码,以便我们可以了解你实际想要做什么。 - Mark Eirich
4个回答

5
这个问题有点模糊,我不确定你想做什么。 您是想动态修改对象的打印样式吗? 如果是这样,您可以尝试在头部添加样式,如下所示:
$('head').append('<style type="text/css" media="print">Whatever styles</style>');

如果要动态实现这个,这是一种方法。如果你正在使用Jquery,因为你不知道其他方法,请看下面的答案。 - Joel Friedlaender
根据您的代码示例,似乎您可以在头部的打印特定样式表中将#myobject设置为白色背景,例如<link rel =“stylesheet” type =“text / css” media =“print” href =“print.css” />。我只是想确保您不是使用不必要的javascript来完成可以使用css完成的任务。 - Paul Sham

2

0

我认为唯一的方法是在元素上设置特殊的ID或类,然后在打印样式表中定义该样式:

<html><head>
    <style type="text/css" media="print">
    .print_blue { color: blue; }
    </style>
</head><body>

<span id="to_change">This is black text.</span>
<a href="#" onclick="jQuery('#to_change').addClass('print_blue');return false">Click here</a>
to change it to blue for printing.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
</body></html>

0
在你的应用程序中创建一个打印 CSS 文件,像这样:
文件名:print.css
#myobject {
background-color: white;
}

在你的应用程序头文件中,像这样包含文件:
<link rel="stylesheet" href="print.css" type="text/css" media="print" />

请注意在引入样式表时添加media="print"。这将仅在打印时将白色背景应用于对象。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接