Javascript设置打印样式表

时间:2011-03-19 03:55:28

标签: javascript css stylesheet

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

我基本上想要设置一个对象的css属性,但是该属性仅适用于打印,而不是屏幕。例如$('#myobject').css('background','white','print');

4 个答案:

答案 0 :(得分:3)

这个问题有点模糊,所以我不确定我是否正在关注你想要做的事情。 您是否尝试动态修改对象的样式以进行打印?

如果是这样,您可以尝试在头部添加样式,如下所示:

$('head').append('<style type="text/css" media="print">Whatever styles</style>');

答案 1 :(得分:1)

您需要向CSSStyleSheet添加document.styleSheets并将media类型设置为printhttps://developer.mozilla.org/en/DOM/stylesheet

答案 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>

答案 3 :(得分:0)

在您的应用程序中创建一个print css文件,如下所示:

文件名:print.css

#myobject {
background-color: white;
}

在您的应用程序标题中,包含如下文件:

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

当我加入样式表时,请注意 media =“print”。这将仅在打印时将白色背景应用于对象。