想象一下,我有一个带有标签的html页面,我希望这个标签在屏幕上显示为绿色,但在打印时为红色。
我最好的解决方案是在CSS上指定媒体类型:
@media print {
#lable {color: red}
}
@media screen {
#lable {color: green}
}
但是现在想象我有一个工具可以获取任何URL并将其内容转换为PDF文档(我拥有工具和URL目标页面)。我想生成具有可打印布局的PDF而不是我在屏幕上看到的版本。
所以我会设置一个查询字符串参数来告诉我的页面呈现“作为可打印的文档”。类似于:www.myPage.com?viewAsPrint = true
现在我需要一种方法,使用javascript,告诉浏览器呈现应用媒体打印样式的页面(即使我将在屏幕上看到它)。
问题:这可能吗?
或者我可以在两个不同的文件(print.css和screen.css)之间拆分我的CSS规则然后,只有当查询字符串中存在viewAsPrint时,使用javascript加载print.css。但我试图避免这种解决方案,因为在不同文件中的规则之间很容易发生冲突。
谢谢