14

jQuery 是否可以修改特定媒体类型(例如打印)的 CSS?

我的具体问题是我在一个元素上使用了动画,它覆盖了打印样式表,这破坏了我的打印布局。尽管我的问题与提出的一般问题略有不同,但我认为答案应该可以帮助我解决问题。任何可能的解决方法也会有所帮助。非常感谢。

4

2 回答 2

6

您不需要使用 Javascript 执行此操作。只需@media在您的 css 文档中使用该规则即可。您可以将所有这些内容写在一个 CSS 文件中。这是具体的W3C 文档

@media screen {

/* all your fancy screen css with a bunch of animation stuff*/

}

@media print {

/* all your fancy print css just plain */

}

您可以编写非常具体的声明并将所有元素与您的需求相匹配。顺便说一句,它支持到 IE6。在我们的项目中就像一个魅力。

@media print {
   body { font-size: 10pt }
}

@media screen {
   body { font-size: 13px }
}

@media screen, print {
   body { line-height: 1.2 }
}
于 2011-02-07T23:04:43.817 回答
5

使用隐藏元素的特定规则为您的媒体(打印)添加一个 CSS(例如#div { display: none; })

在您的脚本中,如果:

$('#div').is(':visible')

是真的,那么你是在印刷媒体上(印刷)。

于 2011-02-07T22:03:45.807 回答