HTML,可打印的超链接引用,如目录

时间:2010-10-05 11:39:03

标签: javascript html css html5 printing-web-page

HTML文档中的链接通常是可点击的。但是,在打印页面上,该功能是由于无法获得的自然原因。

<a href="#foo">Link to foo</a>
[... loads of content ...]
<a name="foo"/>Here is foo

点击屏幕上的“链接到foo”会将页面滚动到正确的位置。如果打印此文档,是否有办法引用页码?我想这样做

<a href="#foo" style="printing: page-reference;">Link to foo</a>

使其打印页码而不是带下划线的文本“Link to foo”。

这是可能的,使用HTML 4或5,XHTML,CSS 2或3,还是借助一些花哨的javascript?

2 个答案:

答案 0 :(得分:5)

CSS允许您为不同的媒体类型指定不同的样式表 - 即屏幕和打印页面,还有音频,盲文等,以及不同的屏幕/页面大小和分辨率,这使得它非常强大,可以将内容提供给移动设备设备

要指定仅适用于打印的样式表,请使用@media print。有fairly good write-up on it at W3Schools

在您的情况下,您可以将打印介质样式与:before:after一起使用,只有在打印时才能向特定元素添加其他文字。

这样的事情可以帮到你:

@media print {
    a[href='#foo'] { text-decoration:none;}
    a[href='#foo']:after { content: "[Ref: 1]";}
    a[name='foo']:before { content: "[1]";}
}

显然,您可以将内容中的文字更改为您喜欢的内容;我试图让它接近你所要求的。

现有内容仍会显示(虽然我已经删除了下划线)。

希望有所帮助。

答案 1 :(得分:0)

我发现做我想做的事是不可能的。如果我错了,请纠正我!