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

时间:2011-02-07 21:48:44

标签: jquery css media-queries

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

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

2 个答案:

答案 0 :(得分:6)

您不需要使用Javascript执行此操作。只需在css文档中使用@media规则即可。 你可以只在一个css文件中写下所有这些东西。这是具体的W3C Documentation

@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 }
}

答案 1 :(得分:5)

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

在您的脚本中,如果:

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

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