jQuery 是否可以修改特定媒体类型(例如打印)的 CSS?
我的具体问题是我在一个元素上使用了动画,它覆盖了打印样式表,这破坏了我的打印布局。尽管我的问题与提出的一般问题略有不同,但我认为答案应该可以帮助我解决问题。任何可能的解决方法也会有所帮助。非常感谢。
jQuery 是否可以修改特定媒体类型(例如打印)的 CSS?
我的具体问题是我在一个元素上使用了动画,它覆盖了打印样式表,这破坏了我的打印布局。尽管我的问题与提出的一般问题略有不同,但我认为答案应该可以帮助我解决问题。任何可能的解决方法也会有所帮助。非常感谢。
您不需要使用 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 }
}
使用隐藏元素的特定规则为您的媒体(打印)添加一个 CSS(例如#div { display: none; })
在您的脚本中,如果:
$('#div').is(':visible')
是真的,那么你是在印刷媒体上(印刷)。