我有一个非常长的页面,看起来像这样
<h2 id="chapter55">Chapter 55</chapter>
我这样链接到它:page.html#chapter55
,并且惊讶的是,它会直接跳到第55章。
这是一个惊喜,因为我不知道你可以锚定到任何标签,我认为只有<a...
标签可以锚定到。
我能相信这个吗?这是标准,还是至少得到广泛支持?
答案 0 :(得分:9)
是的,这适用于任何标签,您可以跳转到页面上的任何ID,如下所示: does html anchor work with any tag?此链接会跳转到相关的侧边栏==&gt;
您可能有点困惑,因为您需要a
标记链接到指定的ID,但ID本身可以位于您想要的任何标记上。 :)
<a href="#h-related">Jump to the related sidebar!</a>
答案 1 :(得分: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>
答案 2 :(得分:0)
几乎所有元素都使用id
属性已经成为标准,因为HTML 4.0已于1997年获得批准。(HTML5 RC扩展了更多的东西,允许id
字面上的任何元素。)< / p>
相关浏览器长期以来一直支持它。 Netscape 3可能是最后一个不支持id
属性的浏览器。
HTML5 RC甚至在设置目标锚点时需要使用id
:它声明a name
已过时(尽管它会继续在浏览器中工作)。
请注意,您甚至可以链接到整个部分(这可能有一些好处,特别是如果您想使用:target
伪类突出显示CSS中的目标):
<div id="chapter55">
<h2>Some heading</h2>
Chapter content
</div>