我有一个很长的页面,看起来像这样
<h2 id="chapter55">Chapter 55</chapter>
我像这样链接到它:page.html#chapter55
,令人惊讶的是,它直接跳到第 55 章。
这是一个惊喜,因为我不知道你可以锚定到任何标签,我认为只有<a...
标签可以锚定。
我可以相信这个工作吗?这是一个标准,还是至少得到广泛支持?
是的,这适用于任何标签,您可以像这样跳转到页面上的任何 ID: html 锚点是否适用于任何标签?此链接跳转到相关侧边栏 ==>
您很可能有点困惑,因为您需要一个a
标签来链接到指定的 ID,但 ID 本身可以位于您想要的任何标签上。:)
<a href="#h-related">Jump to the related sidebar!</a>
是的,从 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>
自 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>