打印网页时删除页面标题和日期(使用CSS?)

时间:2010-04-04 04:56:08

标签: javascript html css

默认情况下,当您打印网页时,页面顶部会显示标题网址页面,同样日期< 时间打印在底部。

当您通过PAGE SETUP菜单打印时,可以删除此附加内容(在Internet Exp中的FILE下)

有没有人知道通过CSS或javascript这样做的方法?

9 个答案:

答案 0 :(得分:76)

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

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

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

@page { size: auto;  margin: 0mm; }

对此提示感谢Vigneswaran S

答案 1 :(得分:41)

简单。只需使用CSS。

<style>
@page { size: auto;  margin: 0mm; }
</style>

答案 2 :(得分:14)

页面标题的可能解决方法:

  • 提供打印按钮
  • 抓住onclick事件,
  • 使用javascript更改页面标题
  • 然后通过javascript执行打印命令。

document.title = "Print page title"; window.print();

这应该适用于每个浏览器。

答案 3 :(得分:5)

您可以在样式表中添加:@page{size:auto; margin:5mm;} 但这也丢弃了页码

答案 4 :(得分:2)

尝试一下;

@media print{ @page { margin-top: 30px; margin-bottom: 30px;}}

答案 5 :(得分:1)

如果您使用的是谷歌浏览器,则只需执行以下操作: pic

答案 6 :(得分:1)

除了 @Md. Hasibul Huq 的以下解决方案外,对我没有任何作用。您可以在没有样式的情况下为 body 使用它:

@media print {
  @page {
    margin-top: 0;
    margin-bottom: 0;
  }
  body  {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

答案 7 :(得分:0)

完成Kai Noack的回答,我会这样做:

var originalTitle = document.title;
document.title = "Print page title";
window.print();
document.title = originalTitle;

这样一旦你打印页面,这将返回原始标题

答案 8 :(得分:-7)

使用

可以设置单独的打印样式表
 <link type="text/css" rel="stylesheet" media="print" href="print.css">

我不知道它是否符合您的要求。