我有一个HTML文档,当前使用锚点有一些指向页面顶部的链接
<body id="topofpage">
...
<a href="#topofpage">Go to top</a>
Run Code Online (Sandbox Code Playgroud)
但是,我不喜欢需要创建一个无用的ID以及单击链接后"#topofpage"如何显示在URL中.我还能做些什么来链接到页面顶部而不使用Javascript吗?我尝试完全删除锚点,<a href="">
但这会导致页面刷新.
hug*_*omg 78
根据HTML5规范,空片段#
和特殊片段#top
将链接到页面顶部.
<a href="#">Go to top</a>
<a href="#top">Go to top</a>
Run Code Online (Sandbox Code Playgroud)
如果使用这些特殊片段名称,则无需创建匹配锚点.
use*_*192 11
您可以尝试使用javascript
<a onclick="scroll(0,0)">
或者你可以使用jQuery
$("#Top").click(function(){
scroll(0,0);
});
Run Code Online (Sandbox Code Playgroud)
我知道你说的是没有使用JavaScript,但我认为这是避免使用真正锚点的唯一方法.以下jQuery将使用#top
href 替换锚点,并在不更改URL的情况下执行一个漂亮的动画滚动到顶部(有关更多信息,请参阅原作者的页面).
$(document).ready(function() {
$('a[href=#top]').click(function(){
$('html, body').animate({scrollTop:0}, 'slow');
return false;
});
})
Run Code Online (Sandbox Code Playgroud)
但是,我会坚持使用语义HTML并使用锚点来实现其目的,以便通过最大数量的浏览器来解释正确的含义.不要忘记需要屏幕阅读器或其他特殊浏览器的残障人士.船锚保证工作.
除此之外,Google 还在2009年宣布了一些新的索引功能,这些功能直接利用页内锚点来提供Web搜索者可能正在寻找的其他上下文.在许多情况下,可能存在用户非常感兴趣的页面的一部分.Google可以提供到该页面锚点的直接链接以获得最佳相关性.
从我的角度来看底线 - 不要破坏锚点.使用它们.