2010-02-03 77 views
44

我写了一些样式表 - 包括一个print.css - 它工作正常。我可以从我的打印css中删除URL吗,所以网址不打印?

我想从每个页面上打印输出的URL。我开始怀疑这是不可能的。是否有一个元素/选项可以设置为显示:无需执行此操作?

原因在于具有“正常”和“打印”样式表的特定页面已被特殊格式化,所以在打印时它会形成一个有意义的小册子。因此该URL是无关紧要的。

+0

感谢您的回复 - 我会停止浪费我的时间!也会尝试使URL更有意义 - 而不是长字符串和大量版本号! - 最好的问候,马克 – Mark 2010-02-05 11:17:30

+0

真的需要有风格,浏览器可以检查/尊重和确定页眉或页脚应该存在,并可能显示每个内容。在现代世界常青的浏览器中,我不确定这个行业如果没有W3(解决问题的人简单地放弃)这样长的时间(5-10年取决于你看的地方) – 2014-08-18 19:50:26

+0

可能的重复[禁用浏览器打印选项(页眉,页脚,页边距)?](http://stackoverflow.com/questions/1960939/disabling-browser-print-options-headers-footers-margins-from-page) – user2428118 2014-09-11 09:05:56

回答

27

不幸的是,没有。页眉和页脚由浏览器生成。只有最终用户才能更改页脚 - 让用户逐步浏览每个浏览器的内容可能是一个想法。例如参见here以获得用于基于窗口的浏览器的一组所示的穿行。

我知道的唯一选择就是生成PDF,使用它可以完全控制打印输出。

+0

感谢您的回复 - 我会停止浪费我的时间!也会尝试使URL更有意义 - 而不是长字符串和大量版本号! - 问候,马克 – Mark 2010-02-03 15:08:16

+0

我想过去两年没有发生过这件事? – Kimble 2012-05-22 07:27:31

+4

@Kimble我不这么认为,不。 – 2012-05-22 08:07:02

3

如果我理解正确,那么您将讨论页眉和页脚。它们由浏览器打印。它们不是HTML内容的一部分,所以你不能直接影响它们。

向用户展示如何在“页面设置...”对话框中禁用页眉和页脚。

0

我假定您正在讨论显示在页面页脚中的URL。

如果是这样,这是由浏览器设置,它不是你可以从你的代码中做的事情。

0

我不确定,但是当您想要打印时,URL是由浏览器添加的。它不是页面的一部分,所以不会受到CSS的影响。也许有一种方法,但它会依赖于浏览器。

1

这取决于您的网络浏览器。如果您使用Firefox,您可以通过进入文件>页面设置然后单击页边距&页眉/页脚选项卡来调整或关闭这些页眉和页脚行(URL,页码等)。

+2

他意味着通过打印样式表从CSS中完成。他将不得不包括你的步骤给所有的游客。 – Anthony 2010-02-03 15:06:51

+1

是的,我意识到这一点。答案是否定的,你不能通过CSS来完成,它只针对浏览器。 – 2010-02-04 23:32:59

3

从浏览器打印页眉和页脚,可悲的是,浏览器首选项,而不是您可以设计的文档级元素。进一步的解决方法和失望请参阅my very similar question

5

This solution将在Chrome和Opera中通过在css @page指令中将margin设置为0来实现。它不会(当前)为其他浏览器工作,但...

-3

对于Internet Explorer,请转到工具。点击打印选项,然后设置页面。在标题和页脚下,使所有选项“空白”。然后它不会打印在您的打印页面上。

我希望这会有所帮助。

40

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

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

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

+1

值得一提的是,必须指定'<!DOCTYPE html>'。它也适用于Chrome。但是你必须使用“系统对话框”才能工作。 – Peter 2014-11-05 12:43:32

+0

这个(更新的)答案是完全正确和正确的,并且完全是所期望的。 – Skotte 2015-04-17 20:53:03

+0

它的工作原理非常感谢。 – smallg 2016-04-20 02:49:49

7

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

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

但是,这也删除了相关网页数量

+1

这工作在Chrome,但它仍然可见在IE – seabass2020 2015-11-23 19:35:27

+0

它会不适用于'尺寸:横向;' – 2016-10-30 04:20:38

9

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

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

不坏,但没有正确处理顶部和底部边距,当有多个页面 – rdans 2017-11-22 13:31:32

8
@media print { a[href]:after { content: none !important; } img[src]:after { content: none !important; } }
-1

我也尝试了一切,但最后我写下面的代码,使URL更短:

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

但是你需要为用户点击自定义打印按钮。

-1

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

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