我写了一些样式表 - 包括print.css - 它工作正常。
我想删除每个页面上打印出来的URL。我开始怀疑这是不可能的。是否有可以设置显示的元素/选项:无法执行此操作?
原因是具有“普通”和“打印”样式表的特定页面已经过特殊格式化,因此在打印时,它会形成一个有意义的小册子。因此,URL无关紧要。
在Firefox中,https://bug743252.bugzilla.mozilla.org/attachment.cgi?id=714383(查看页面源代码::标记HTML)。
在您的代码中,将<html>
替换为<html moznomarginboxes mozdisallowselectionprint>
。
在其他浏览器中,我不知道,但你可以查看http://www.mintprintables.com/print-tips/header-footer-windows/
我假设您正在谈论页面页脚中显示的URL。
如果是这样,这是由浏览器设置的,而不是您可以从代码中执行的操作。
我不确定,但是当您要打印时,浏览器会添加URL。它不是页面的一部分,因此不受CSS的影响。也许有一种方法,但它将取决于浏览器。
从历史上看,不可能让这些东西消失,因为它们是用户设置而不被视为您可以控制的页面的一部分。
http://css-discuss.incutio.com/wiki/Print_Stylesheets#Print_headers.2Ffooters_and_print_margins
但是,截至2017年,@ page at-rule已经标准化,可用于隐藏现代浏览器中的页面标题和日期:
@page {size:auto;余量:0mm; }
感谢Vigneswaran S的提示。
我也试过了一切,但最后我写下面的代码来缩短网址:
var curURL = window.location.href;
history.replaceState(history.state, '', '/');
window.print();
history.replaceState(history.state, '', curURL);
但是您需要创建一个自定义PRINT按钮供用户单击。
使用以下方法从页眉和页脚中删除URL
@page { size: letter; margin-top: 4mm;margin-bottom: 4mm }
这是一个浏览器问题。但是你可以通过这些代码来处理这个问题:
<style type="text/css" media="print">
@media print
{
@page {
margin-top: 0;
margin-bottom: 0;
}
body {
padding-top: 72px;
padding-bottom: 72px ;
}
}
</style>
对于Internet Explorer,请转到“工具”。单击打印选项,然后单击页面设置。在页眉和页脚下,将所有选项设置为“空”。然后它不会打印在您打印的页面上。
我希望这有帮助。
可悲的是没有。页眉和页脚由浏览器生成。只有最终用户才能更改页脚 - 可能需要为每个浏览器的用户提供一步一步的操作。有关基于Windows的浏览器的一组插图演练,请参阅here。
我所知道的唯一选择是生成PDF,您可以使用它完全控制打印输出。
使用该代码。这将有助于解决您的问题
@media print
{
@page { margin: 0; }
body { margin: 1.6cm; }
}
@media print
{
a[href]:after { content: none !important; }
img[src]:after { content: none !important; }
}
你可以在样式表中试试这个:
@page{size:auto; margin-bottom:5mm;}
但这也删除了页码
This solution将通过在css @page指令中将margin设置为0来完成Chrome和Opera中的技巧。它(目前)不适用于其他浏览器...
如果我理解正确,你会谈论页眉和页脚。它们由浏览器打印。它们不是HTML内容的一部分,因此您无法直接影响它们。
在«页面设置...»对话框中向用户显示如何禁用页眉和页脚。
遗憾的是,从浏览器打印的页眉和页脚是浏览器首选项,而不是您可以设置样式的文档级元素。请参阅my very similar question以获得进一步的解决方法和失望。
这取决于您的Web浏览器。如果您使用的是Firefox,则可以通过进入“文件”>“页面设置”然后单击“边距和页眉/页脚”选项卡来调整或关闭页眉和页脚行(URL,页码等)。