【问题标题】:Removing elements that appear when printing, using print.css stylesheet [duplicate]使用 print.css 样式表删除打印时出现的元素[重复]
【发布时间】:2015-07-14 09:15:53
【问题描述】:

问题

我目前正在使用样式表 print.css 来删除元素和一些样式以创建一个打印友好的页面,但我似乎无法删除出现在页面角落但不在页面角落的四个东西HTML:paginationdate printedtitle of pageURL of page

可能的解决方案?

我在《洛杉矶时报》上看到过这个例子,它显示了 HTML 中没有的元素,但通常在打印被删除时出现:http://graphics.latimes.com/oscar-bingo-2015/

【问题讨论】:

    标签: javascript html css printing


    【解决方案1】:

    StackOverflow 上有很多关于这个主题的帖子:

    看起来它可以通过将 @page media property 与打印媒体属性结合使用:

    @media print {
        @page { margin: 0; }
      }
    

    但是,它似乎只在 Chrome 中工作(目前)。不过,Firefox can be made 有义务。在其他地方,建议动态创建 PDF - 或使用 JavaScript 至少将页面标题设置为空字符串。

    另外,我想问你为什么要隐藏你的用户通常习惯控制的东西。

    不过,要回答您的问题:《洛杉矶时报》使用引导程序,它按如下方式设置页边距:

    ...@page{margin:.5cm}...
    

    【讨论】:

    • @media print { @page { margin: 0; } body { margin: 1.6cm; } }
    • 这种方法的问题是你(显然)最终得到的所有内容都在页面的边缘。 Muhammad 的添加阻止了这种情况的发生,但代价是任何后续页面在其内容和页面顶部之间没有边距。将页边距设置为 0.5 厘米是我迄今为止找到的最佳解决方案,但在我测试过的浏览器中,它只能在 Chrome 中正常运行。
    【解决方案2】:

    这是一些特定于浏览器的打印信息。您无法更改,用户必须正确设置其打印属性。

    另请参阅:Removing page title and date when printing web page (with CSS?)

    编辑:这恰好是可行的,但我不知道如何。

    【讨论】:

    • 我最近看到了这个,他们的打印页面似乎没有这些东西,想知道他们是怎么做到的:graphics.latimes.com/oscar-bingo-2015
    • 哇,你是对的!我不知道他们是怎么做到的。
    猜你喜欢
    • 2012-10-21
    • 1970-01-01
    • 2013-04-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多