【问题标题】:Force browser to render webpage's Print stylesheet强制浏览器呈现网页的打印样式表
【发布时间】:2011-12-12 21:34:43
【问题描述】:

许多网页使用打印样式表来更好地格式化内容以进行打印。我的问题是,是否可以强制浏览器使用打印样式表呈现页面而不实际打印它?

【问题讨论】:

  • 这对你有用吗?如果是,请回答我的问题
  • 谷歌浏览器。开发者控制台。覆盖媒体:打印

标签: html css browser


【解决方案1】:

在 Chrome(78 版)中,您可以强制浏览器使用 Chrome DevTools 渲染网页的打印样式表,方法是转到更多工具 > 渲染

然后在 Emulate CSS Media 下拉菜单中选择 打印 选项

【讨论】:

  • 请注意,此选项仍然可用,但 UX 已更改。另见stackoverflow.com/questions/9540990/…
  • 谢谢@patricktokeeffe,我已经更新了这个答案以匹配 Chrome 78 的更新用户体验。谢谢。
【解决方案2】:

通常打印 css 具有打印的媒体类型。只需删除媒体定义并使用它来替换主样式表

<link rel="stylesheet" type="text/css" media="print" href="print.css" />

改成

<link rel="stylesheet" type="text/css" media="all" href="print.css" />

【讨论】:

  • 问题是如何自动查看任何带有打印 css 的页面(如果页面上存在)。
  • 这就是这样做的。使用print.css 作为主样式表会导致页面显示(尽可能接近)打印时的样子
  • 所以我应该在白天访问的每个页面上打开浏览器控制台,搜索 media="print" 并进行编辑? :-)
  • 嗯,OP 询问是否有通往force the browser to render a page using the print stylesheet without actually printing it 的途径。所以对于我的回答,不要使用主样式表,而是确保 print 样式表没有 media="print"
  • @fiatjaf 不生气?我是什么4?哈哈,这是我 6 年前写的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-23
  • 2013-03-23
  • 2019-01-17
  • 2023-03-12
  • 2010-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多