在<a id='top'>页面顶部</a>中使用锚点有什么意义?

gom*_*gom 0 html browser

“html 链接”的第一个 Google搜索结果表示(解释)要在网页内创建书签/部分,我们必须这样做:

<a id='section-2'>Section 2</a>

这样我们就可以像这样链接到它:

<a href='page.php#section-2' >Click</a>

但是为什么该网站建议在“第 2 部分”周围使用锚标记?-何时可以使用 span 完成:

<span id='section-2'>Section 2</span>

是否存在兼容性问题?因为“在网页内创建书签”的第一个搜索结果也说用锚标记包围标题:

<p><a name="title">Title</p>

尽管由于各种其他原因,这个特定示例是不正确的。

我有一个补充问题:

当可以像这样简单地完成时,为什么要用容器包围标题:

<span id='section-2'></span>Section 2

有关系吗?

<span id='section-2'>Sec</span>tion 2

<a href='page.php#section-2' >Click</a>

Juk*_*ela 5

无关紧要。W3schools 是不可靠的,只是不要使用它,您将避免混淆和错误信息;见http://w3fools.com

在过去,在页面内设置目标锚点的唯一方法是使用<a name=...>...</a>元素(在文本级别)。后来,id添加了该属性,现在所有使用的浏览器都支持该属性,因此您只需将id属性附加到任何元素即可使任何元素成为目标锚点。例如,为了可以链接到像 那样的标题<h2>Section 2</h3>,您可以将其设置为<h2 id=section-2>Section 2</h2>。不需要人为的额外元素。

使用<span id='section-2'></span>Section 2,虽然形式上是正确的,但并不是一个好主意。与更合乎逻辑的标记相反,使用它您一无所获。并且,如果您稍后想要设置(突出显示)用户通过链接“跳转”到的元素的样式,则使用:target伪类,您会发现自己处于尴尬的境地:伪类会让您只设置样式的空内容span

关于标题中的问题,没有理由将页面顶部作为目的地锚点,<a id='top'>Top of page</a>无论是否使用。首先,您可以使用 just href=#since by URL 规范来引用页面#的开头,表示当前资源的开头。其次,“返回顶部”链接基本上没有用或更糟:每个浏览器都有一个简单的命令可以转到页面的开头,而明确的“返回顶部”链接可能会令人困惑:回到什么的顶部?