html锚点是否适用于任何标记?

时间:2013-03-06 09:12:50

标签: html hyperlink anchor

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

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

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

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

我能相信这个吗?这是标准,还是至少得到广泛支持?

3 个答案:

答案 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>