CSS:从打印预览 Chrome 中禁用页眉和页脚

Posted

技术标签:

【中文标题】CSS:从打印预览 Chrome 中禁用页眉和页脚【英文标题】:CSS: Disable Header & Footer From Print Preview Chrome 【发布时间】:2012-07-15 05:40:15 【问题描述】:

我的一个应用程序是基于网络的 POS(销售点)。所以在用 chrome 打印发票时。 浏览器自动插入的页眉和页脚,我想通过页面抑制,无需用户干预..

我在印刷媒体中应用了一些 CSS

@media print 
 #header, #footer  
    visibility: hidden !important;
    display: none !important;
 

但它不适用,也许选择器不正确?

我也尝试减少边距,但如果打印有多个页面,它会剪切/覆盖页面内容。 还有一件事,我不想禁用 chrome 的打印预览选项..

任何人对此有很好的解决方案?

最好的问候..

【问题讨论】:

您的代码看起来不错,尽管visibility 是多余的。检查您的页脚和页眉是否有 id,与您在 css 选择器中使用的匹配。 实际上无法在打印预览时检查页眉和页脚的 id 或类...您能在您身边试试吗..? 大声笑,所以你的意思不是页眉和页脚,而是page header/footer?抱歉,您无法通过 css 隐藏它们,但您可以将页面转换为 pdf 或 doc,这样可以更好地控制打印,并将此文档发送到打印机。 它的 POS 机..所以每次取消选中页眉和页脚或创建 pdf 或 doc,然后触发打印按钮是不可行的。你有其他解决方案吗? 然后只需配置打印机,不打印页眉/页脚。所有浏览器都支持这个,afaik。并将此设置的更改添加到您的安装程序或部署手册中。 【参考方案1】:

使用

@pagemargin:0px auto;

在您的 CSS 脚本中。这很可能会在打印时破坏您的页面布局,因此您可能需要添加一个带有正确填充的#container div,以使您的页面再次看起来不错。仅在 Google Chrome 上测试。

【讨论】:

如果我可以多次支持这个答案,我会的。你是一个救生员。谢谢!! 如果您要打印多页,这将不起作用。【参考方案2】:

。 .我不确定您在开发中的知识水平,但 CSS 选择器必须匹配某些元素。 [page] “header” 和 [page] “footer”,如“[printed] page”,而不是“[web] page”,不能像这样被 CSS 定位 - 特别是不能随意选择ID,以及可能与您自己的页面 ID 冲突且浏览器供应商永远不会接受实施的 ID。

。 .使用“margin: 0 auto;”的建议在“@page”指令上实际上是正确的(因为浏览器没有足够的余量来显示它们,它只会隐藏它们)。问题是目前只有 Chrome 正确支持它。对于其他浏览器,除了创建 PDF 并打印它之外,您没有其他好的选择。不过,您可以创建一个可自行打印的 PDF,它会在加载时使用嵌入在其上的 javascript 立即显示打印对话框,但我认为这是您能做到的最远距离。

。 .祝你好运。

【讨论】:

以上是关于CSS:从打印预览 Chrome 中禁用页眉和页脚的主要内容,如果未能解决你的问题,请参考以下文章

从打印页面禁用浏览器特定的页眉和页脚

使用 Javascript 或 CSS 从 Internet Explorer 打印时隐藏页眉和页脚

使用 CSS 创建页眉和页脚进行打印

html页面中的自定义页眉和页脚

如何在Excel中添加页眉页脚?

从 window.print() 中删除页眉和页脚