jQuery可以修改特定媒体类型的CSS吗?

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

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

您不需要使用Javascript执行此操作。 只需在css文档中使用@media规则即可。 你可以只在一个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 } } 

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

在您的脚本中,如果:

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

是的,然后你在印刷媒体上(印刷)。