总新手问题,但我无法弄清楚我做错了什么。我想创建一个链接,将页面跳转到标题。我相信这些被称为片段链接。这是我的代码不起作用:
<a href="#Frag">My Link</a>
<div id="cont">
<p>Lots of content here, abbreviated in this example to save space</p>
<h2 id="Frag">Header I want to jump to</h2>
</div>
答案 0 :(得分:2)
非常确定您需要为锚点指定name
属性,例如:
<a href="#content">Skip to content</a>
<div name="content" id="content"></div>
好吧,'非常肯定'是'猜测'的委婉说法,我想我会查一查,所以,HTML 4.01 Specification我们从section 12.2.3 Anchors with the id attribute得到这个:
id
属性可用于在开始标记处创建锚点 任何元素(包括A
元素)。此示例说明了如何使用id
属性在H2
元素中定位锚点。锚通过A
元素链接到。
You may read more about this in <A href="#section2">Section Two</A>.
......稍后在文件中
<H2 id="section2">Section Two</H2>
......稍后在文件中
<P>Please refer to <A href="#section2">Section Two</A>
以上了解详情。
要进行猜测的惯例,也许你的页面不够长,无法跳转到那个内容(也就是说,你的页面可能无法跳并且内容会跳转 to 已经可见。)
除此之外,以及之前链接的规范的相同部分,这里有一些关于何时使用什么作为锚标识符(就其自身的链接而言)可能具有其他价值的一般信息:
使用
id
或name
?作者在考虑时应考虑以下问题 决定是否对锚名称使用id或name:
- id属性不仅可以充当锚名称(例如,样式表选择器,处理标识符等)。
- 某些较旧的用户代理不支持使用id属性创建的锚点。
- name属性允许更丰富的锚名称(包含实体)。
答案 1 :(得分:0)
你的代码在firefox中运行正常,你可以使用名称而不是id ..
http://www.w3schools.com/tags/att_a_name.asp
如果你想要一个很好的滚动,你可以使用jquery scroll http://api.jquery.com/scroll/