1

我有一个很长的页面,看起来像这样

<h2 id="chapter55">Chapter 55</chapter>

我像这样链接到它:page.html#chapter55,令人惊讶的是,它直接跳到第 55 章。

这是一个惊喜,因为我不知道你可以锚定到任何标签,我认为只有<a...标签可以锚定。

我可以相信这个工作吗?这是一个标准,还是至少得到广泛支持?

4

3 回答 3

9

是的,这适用于任何标签,您可以像这样跳转到页面上的任何 ID: html 锚点是否适用于任何标签?此链接跳转到相关侧边栏 ==>

您很可能有点困惑,因为您需要一个a标签来链接到指定的 ID,但 ID 本身可以位于您想要的任何标签上。:)

<a href="#h-related">Jump to the related sidebar!</a>
于 2013-03-06T09:16:05.237 回答
0

是的,从 HTML 4 开始,您几乎可以通过分配一个 id 使每个元素成为锚点,如下所示:

<h1><a name="heading">Heading</a></h1>
<a href="#heading">go to heading</a>

也相等

<h1 id="heading">Heading</h1>
<a href="#heading">go to heading</a>
于 2013-03-06T09:20:02.900 回答
0

自 1997 年获得批准的 HTML 4.0 以来,几乎在任何元素上使用该id属性已成为标准。(HTML5 RC 进一步扩展了一些东西,几乎允许id任何元素。)

相关浏览器长期支持。Netscape 3 可能是最后一个不支持该id属性的浏览器。

HTML5 RC 甚至需要id在设置目标锚点时使用:它声明a name为已过时(尽管它会继续在浏览器中工作)。

请注意,您甚至可以链接到整个部分(这可能有一些好处,特别是如果您想使用:target伪类在 CSS 中突出显示目标):

<div id="chapter55">
<h2>Some heading</h2>
Chapter content
</div>
于 2013-03-06T10:09:52.580 回答