散列在锚标记中
如何加载页面并在加载页面的某个位置打开页面?
例如,可以说我有page1.html
,它有3个链接
<a href="page2.html#1">1</a>
<a href="page2.html#2">2</a>
<a href="page2.html#3">3</a>
在page2.html
,我在页面上也有这些链接,即
<a href="page3.html#1">1</a>
<a href="page3.html#2">2</a>
<a href="page3.html#3">3</a>
但是当我点击page1.html
的#2
或#3
链接时,他们总是在页面顶部打开,尽管#2
和#3
离开page2.html
上的屏幕,需要向下滚动到可见。
不知道我做错了什么。
您需要在page2.html
上放置命名锚点,如下所示:
<a name="1"></a>
…
<a name="2"></a>
…
<a name="3"></a>
- 这是在HTML5之前。 现在,你使用id
而不是name
。
您需要为它应该“跳转”的元素添加一个ID。
例如,如果你有
<div id="part1">
<p>Blah blah blah</p>
</div>
<div id="part2">
<p>Blah blah blah</p>
</div>
<div id="part3">
<p>Blah blah blah</p>
</div>
他们都在page.html
然后你可以链接到page.html#part1
, page.html#part2
等等,它会跳转到页面的正确部分
更新:
你也可以使用name属性,但我更喜欢使用id。 这是因为任何东西都可以有一个id,但不一定是一个名字。 例如,我不认为name是HTML 5中'a'标签的有效属性。另外,如果您有一个id =“part1”的元素和另一个名称为“part1”的元素,则使用id将取得优先权。 为了避免混淆,我始终坚持使用一种方法。 这里有更多的讨论
在目标页面的锚标签中使用name属性或id属性可以实现所需的结果。
<a name="someLocation" id="someLocation">SomeText</a>
作为XHTML 1.1约定,锚标记的名称属性已被替换为id属性。 在XHTML 1.0的上下文中,name属性被认为已被弃用。
请参阅此答案以获取关于锚标记更改的相关讨论。
总结一下:出于兼容性原因,许多人建议在同一元素中使用id属性和name属性。 在这种情况下,一个锚标签。
W3C标准建议(关于所有适用的要素):
id和name属性共享相同的名称空间。 这意味着它们不能在同一个文档中定义具有相同名称的锚点。 允许使用这两个属性来为以下元素指定元素的唯一标识符:A,APPLET,FORM,FRAME,IFRAME,IMG和MAP。 当两个属性都用于单个元素时,它们的值必须相同。
对任何重复抱歉,我缺乏评论最佳答案的声望。
链接地址: http://www.djcxy.com/p/88977.html上一篇: hash in anchor tags
下一篇: Make anchor link go some pixels above where it's linked to