链接到页面上的不同区域

4
这可能是一个愚蠢的问题,但是:
我想设置一个菜单部分,使得当用户点击该部分的标题时,可以将其发送到页面上特定的位置而无需向下滚动。我不太确定这该如何实现或者它有多复杂。
所以基本上我会有
菜单
1.项一(成为链接) 2.项二(成为链接) 3.等等(成为链接)
然后在页面下方
项一(当菜单中的项一被点击时,页面跳转到此处)
“这里是详情”
项二(当菜单中的项二被点击时,页面跳转到此处)
“这里是详情”
我应该如何做到这一点呢?
非常感谢任何帮助或建议。谢谢。

如果你对一个答案进行了负评,那么请解释原因,否则这将对 Stack 社区造成不利影响。 - RSM
我不知道这是针对我还是一般情况,但如果我真的给一个问题投了反对票,那肯定是无意的,尤其是因为我发现所有的问题都很有帮助和有用。而且...我甚至不认为我有权利投反对票... - James213
不,这不是针对您的,抱歉造成困惑。只是一般性地说,因为我看到了一些没有解释的踩票。 - RSM
6个回答

11

这被称为“锚点标签”,你可以与 # 结合使用,以获得问题中所要求的结果。

只需在 section1 的开头放置:

<a name="section1"></a>

然后在想要链接到它的任何地方添加:

<a href="#section1">here</a>

请注意,您还可以使用上述方法指向元素内的 ID 以获得结果。

例如:

<div id="section1"></div>

如果您有任何与此相关的其他问题,请告诉我,这将对您有所帮助。


你可能更喜欢使用id="anchor"而不是name="anchor",请参考https://dev59.com/BXRB5IYBdhLWcg3w3K8J。 - feeela
这也是正确的。不错的补充。 - RSM
你如何使用其他页面的链接来实现这个功能?其他页面的链接在一个 ul 中,但需要像锚标签一样显示出来。它们目前在一个 SELECT CASE 语句中,但它会显示在 .htm 页面上。我没有制作这个页面,只是想修复它。 :/ - Jamie

7
您可以在链接前面使用哈希符号(“#”)来指定它指向同一页内的ID或锚点。
例如:
<a href="#item1">Item 1</a>

将重定向到同一页上的以下元素:

<div id="item1">Item one details</div>

它也会指向以下锚点,但通常最好指向带有ID的元素,以避免不必要的标记:

<a name="item1">Item one details</a>
编辑 根据HTML Anchors with 'name' or 'id'?所述的原因,HTML5中不应以这种方式使用锚点,因为name属性已不再存在(根据当前规范草案)。

我认为值得注意的是哈希值最好是页面上已存在的ID。我点赞这个答案以表示这是正确的解决方案,而不是添加一个具有名称属性的新锚点。另一种方法确实可行,但有些过时了。 - Jamie Dixon

4
您可以使用锚点标签来实现此功能。
在菜单中:
<a href="#item-one">item one</a>
<a href="#item-two">item two</a>

页面往下滑动:

<a name="item-one">item one</a>

...

<a name="item-two">item two</a>

你可以查看http://www.w3schools.com/HTML/html_links.asp了解更多信息。该网站提供了有关HTML链接的相关知识。

2

1

如果你在询问我所想的,你只需要按照这篇文章 这里 中描述的方法在页面下方使用锚点。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接