2

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>

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

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

4

2 回答 2

5

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

要指定仅适用于打印的样式表,请使用@media print. W3Schools 上有一篇相当不错的文章。

在您的情况下,您可以使用打印媒体样式以及:before:after仅在打印时向特定元素添加其他文本。

像这样的东西会为您解决问题:

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

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

现有内容仍将显示(虽然我已经取消了下划线)。

希望有帮助。

于 2010-10-05T11:55:46.633 回答
0

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

于 2011-08-04T14:13:39.417 回答