打印时更改元素颜色

Posted

技术标签:

【中文标题】打印时更改元素颜色【英文标题】:Change Color of Element when Printing 【发布时间】:2017-07-14 17:43:51 【问题描述】:

我正在尝试打印我的整个网站,通常背景会变成白色,这很好,但我无法将元素的背景颜色更改为白色以节省墨水。

这是代码

    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"   id="Kirchhoff" align="middle">
<param name="movie" value="Kirchoff.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="bgcolor" value="#ffffff">
<embed src="Kirchhoff.swf" quality="high" bgcolor="#DDB85F"   name="Kirchhoff" align="middle" allowScriptAccess="sameDomain" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="opaque" />
<br>

这是目前为止的打印代码

SCRIPT LANGUAGE="javascript">
if (window.print) 
document.write('<form> '
+ '<input type=button name=print value="Imprimir" '
+ 'onClick="javascript:window.print()"></form>');

</script>

【问题讨论】:

【参考方案1】:

您应该使用 CSS 而不是 JavaScript。

@media print
  .element 
    background-color: white;
  

【讨论】:

感谢@JoshSpears,我对此有点陌生并且是自学的,是我输入的吗?提前致谢 您需要在您的目录中创建一个外部 css 文件。例如styles.css;然后将其包含在您的 html 文件 &lt;link rel="stylesheet" href="styles.css"&gt;head 标记中 如果我刚开始工业上的错误,我很抱歉。我用之前的代码创建了一个文件并将其命名为 styles.css 并将其保存在同一目录中,然后我将代码更改为此 跟随本教程:w3schools.com/css/tryit.asp?filename=trycss_howto_multiple2 是的,只有一个问题,文件只是一个普通的纯文本,带有您键入的代码,扩展名为 .css。因为我不能让它工作【参考方案2】:

@JoshSpears 这将是新的

<link rel="stylesheet" href="styles.css">
    </head>
<body bgcolor="#7CF8EC">
    <br>
    <br>
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"   id="Kirchhoff" align="middle">
<param name="movie" value="Kirchoff.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="bgcolor" value="#ffffff">
<embed src="Kirchhoff.swf" quality="high" bgcolor="#DDB85F"   name="Kirchhoff" align="middle" allowScriptAccess="sameDomain" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="opaque" />
<br>
        <center><SCRIPT LANGUAGE="JavaScript">
if (window.print) 
document.write('<form> '
+ '<input type=button name=print value="Imprimir" '
+ 'onClick="javascript:window.print()"></form>');

</script>
      </center>
</body>
</html>

【讨论】:

以上是关于打印时更改元素颜色的主要内容,如果未能解决你的问题,请参考以下文章

导航栏活动元素在不应该在悬停时更改颜色?

单击vue js时更改td元素的颜色

悬停时更改 iframe 中元素的背景颜色

悬停时更改父元素的背景颜色

当 Woocommerce 购物车为空时更改元素颜色

在悬停另一个元素时更改 SVG 填充颜色