【问题标题】:Can I remove the URL from my print css, so the web address doesn't print?我可以从我的打印 css 中删除 URL,以便不打印网址吗?
【发布时间】:2011-01-12 15:55:18
【问题描述】:

我已经编写了一些样式表——包括一个 print.css——并且运行良好。

我想删除每个页面上打印的 URL。我开始怀疑这是否不可能。是否有可以设置为 display:none 的元素/选项来执行此操作?

原因是具有“普通”和“打印”样式表的特定页面经过特殊格式化,因此在打印时,它形成了一个有意义的小册子。因此 URL 无关紧要。

【问题讨论】:

  • 感谢您的回复 - 我不会再浪费时间了!还将尝试使 URL 更有意义 - 而不是长字符串和大量版本号! - 最好的问候,马克
  • 确实需要浏览器可以检查/尊重的样式,并确定页眉或页脚是否应该存在,以及每个样式应该显示什么内容。在常青浏览器的现代世界中,如果 W3 没有解决这个问题(以至于人们干脆放弃),我不确定这个行业如何能走这么久(5-10 年,具体取决于您的看法)
  • 这能回答你的问题吗? How to remove the URL from the printing page?

标签: css


【解决方案1】:

在 Firefox 中,https://bug743252.bugzilla.mozilla.org/attachment.cgi?id=714383(查看页面源 :: 标签 HTML)。

在您的代码中,将<html> 替换为<html moznomarginboxes mozdisallowselectionprint>

其他浏览器不知道,不过可以查看http://www.mintprintables.com/print-tips/header-footer-windows/

【讨论】:

  • 值得一提的是必须指定<!DOCTYPE html>。它也适用于 Chrome。但是您必须使用“系统对话框”才能使其正常工作。
  • 这个(更新得多的)答案是完全正确和正确的,完全是我们想要的。
  • 是的,这适用于 firefoxmicrosoft edge。如何从IE 中删除标题?
  • Firefox 删除了对 moznomarginboxes 的支持 bugzilla.mozilla.org/show_bug.cgi?id=1260480 css @page margin: 0 现在是官方方式
  • 这在 Firefox 96.0 中对我不起作用
【解决方案2】:

很遗憾,没有。页眉和页脚由浏览器生成。只有最终用户可以更改页脚 - 让用户逐步了解每个浏览器的操作可能是一个想法。例如,请参阅here,了解基于 Windows 的浏览器的一组图解演练。

我知道的唯一替代方法是生成 PDF,您可以完全控制打印输出。

【讨论】:

  • 感谢您的回复 - 我不会再浪费时间了!还将尝试使 URL 更有意义 - 而不是长字符串和大量版本号! - 最好的问候,马克
  • 我猜这在过去的两年里什么都没发生过?
  • @Kimble 我不这么认为,不。
  • 这一直是网络的“开放、可移植性”问题,即使有一套非常丰富的标准,仍然有数百万人想要的东西,没有“开放工作组”真正寻址,因此每个浏览器都在做一些没人想要的事情。如果每个浏览器都这样做(1. 打印 2. 可选地包括特定于浏览器的页眉/页脚),为什么没有控制行为的标准/规范?
  • 致所有阅读本文的人,在这里不要太快放弃! Firefox 和 Chrome 都允许我通过简单地使用打印样式命令来创建全纸打印表单:<style type="text/css" media="print"> @page { size: auto; /* auto is the initial value */ margin: 0; /* this affects the margin in the printer settings */ } </style> 我不确定这是否会在所有浏览器上解决它,但它满足了我的需要。
【解决方案3】:

使用该代码。这将有助于解决您的问题

@media print 
{
  @page { margin: 0; }
  body  { margin: 1.6cm; }
}

【讨论】:

  • 不错,但在多页时不能正确处理上下页边距
  • 它在 Chrome 和 Firefox 上对我不起作用。
【解决方案4】:
@media print 
{
  a[href]:after { content: none !important; }
  img[src]:after { content: none !important; }
}

【讨论】:

  • 最好对这段代码添加一些解释。我不知道这应该完成什么或如何完成。当然不会在最新版 Chrome 上隐藏 url 或页码。
  • 谢谢,在 Safari 中隐藏链接 URL。
【解决方案5】:

你可以在样式表中试试这个:

@page{size:auto; margin-bottom:5mm;}

但这也删除了页码

【讨论】:

  • 它在 Chrome 和 Firefox 上对我不起作用。
【解决方案6】:

This solution 将通过在 css @page 指令中将边距设置为 0 在 Chrome 和 Opera 中实现这一目的。但它不会(目前)适用于其他浏览器......

【讨论】:

    【解决方案7】:

    这取决于您的网络浏览器。如果您使用的是 Firefox,您可以通过进入 File > Page Setup 然后单击 Margins & Header/Footer 来调整或关闭这些页眉和页脚行(URL、页码等) 选项卡。

    【讨论】:

    • 他的意思是通过打印样式表从 CSS 中完成。他必须向所有访问者包括您的步骤。
    • 是的,我意识到这一点。答案是否定的,你不能通过 CSS 来实现,它是特定于浏览器的。
    • 在较新版本的 Firefox 中,在打印预览对话框中,有一个复选框“打印页眉和页脚”。
    【解决方案8】:

    如果我理解正确,您会谈论页眉和页脚。它们由浏览器打印。它们不是您的 HTML 内容的一部分,因此您无法直接影响它们。

    向您的用户展示如何在«页面设置...»对话框中禁用页眉和页脚。

    【讨论】:

      【解决方案9】:

      遗憾的是,用于从浏览器打印的页眉和页脚是浏览器首选项,而不是您可以设置样式的文档级元素。请参阅 my very similar question 了解更多解决方法和失望。

      【讨论】:

        【解决方案10】:

        从历史上看,不可能让这些东西消失,因为它们是用户设置,不被视为您可以控制的页面的一部分。

        http://css-discuss.incutio.com/wiki/Print_Stylesheets#Print_headers.2Ffooters_and_print_margins

        不过,截至 2017 年,@page at-rule 已标准化,可用于在现代浏览器中隐藏页面标题和日期:

        @page { 大小:自动;边距:0mm; }

        感谢 Vigneswaran S 提供此提示。

        【讨论】:

        【解决方案11】:

        使用以下方法从页眉和页脚中删除 url

         @page { size: letter;  margin-top: 4mm;margin-bottom: 4mm }
        

        【讨论】:

        【解决方案12】:

        我也尝试了所有方法,但最后我在下面编写代码以缩短 URL:

        var curURL = window.location.href;
        history.replaceState(history.state, '', '/');
        window.print();
        history.replaceState(history.state, '', curURL);
        

        但是你需要制作一个自定义的 PRINT 按钮供用户点击。

        【讨论】:

          【解决方案13】:

          现在我们可以这样做了:

          <style type="text/css" media="print">
          @page {
              size: auto;   /* auto is the initial value */
              margin: 0;  /* this affects the margin in the printer settings */
          }
          </style>
          

          来源:https://stackoverflow.com/a/14975912/1760939

          【讨论】:

          【解决方案14】:

          我假设您正在谈论显示在页面页脚中的 URL。

          如果是这样,这是由浏览器设置的,这不是您可以通过代码执行的操作。

          【讨论】:

            【解决方案15】:

            我不确定,但 URL 是在您要打印时由浏览器添加的。它不是页面的一部分,因此不受 CSS 影响。也许有办法,但它取决于浏览器。

            【讨论】:

              【解决方案16】:

              我在浏览器端本身发现了一些东西。

              试试这个步骤。这里我提到了在所有三个主要浏览器中禁用页眉和页脚的步骤。

              Chrome 单击浏览器右上角的菜单图标。单击打印。取消选中选项部分下的页眉和页脚。

              Firefox 单击浏览器左上角的 Firefox。将鼠标放在打印上,单击页面设置。单击边距和页眉/页脚选项卡。将页眉和页脚下的每个值更改为 --blank--。

              Internet Explorer 单击浏览器右上角的齿轮图标。将鼠标放在打印上,然后单击页面设置。将页眉和页脚下的每个值更改为 -Empty-。

              【讨论】:

                【解决方案17】:

                这是一个浏览器问题。但是你可以通过这几行代码来处理这个问题:

                <style type="text/css" media="print">
                @media print
                {
                    @page {
                        margin-top: 0;
                        margin-bottom: 0;
                    }
                    body  {
                        padding-top: 72px;
                        padding-bottom: 72px ;
                    }
                }
                </style>
                

                【讨论】:

                  【解决方案18】:

                  对于 Internet Explorer,请转到工具。单击打印选项,然后设置页面。在页眉和页脚下,将所有选项设为“空”。然后它将不会在您的打印页面上打印出来。

                  我希望这会有所帮助。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2012-07-17
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-12-18
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多