Html 在href超链接开头使用#
我知道超链接标签Html 在href超链接开头使用#,html,css,Html,Css,我知道超链接标签href链接中的#字符用于在打开后将指向的页面滚动到指定的元素id: href="//site.com/#some-id" href=“//site.com/#some id” 单独使用时,表示仅向上滚动到当前页面顶部: href=“#” 但是,当它附加到链接的开头时会发生什么情况呢 href=“#/phones/phoneid 一旦打开,它会将指向的页面滚动到顶部吗?不会。您必须将#添加到URL的末尾,以使其滚动到顶部,例如: <a href="/phones/phon
href
链接中的#
字符用于在打开后将指向的页面滚动到指定的元素id:
href="//site.com/#some-id"
href=“//site.com/#some id”
单独使用时,表示仅向上滚动到当前页面顶部:
href=“#”
但是,当它附加到链接的开头时会发生什么情况呢
href=“#/phones/phoneid
一旦打开,它会将指向的页面滚动到顶部吗?不会。您必须将
#
添加到URL的末尾,以使其滚动到顶部,例如:
<a href="/phones/phoneid#">Text</a>
它将在您的DOM中搜索ID。如果没有这样的ID,则不会发生任何事情。
但是你自己试试看,因为这只是一种推测。url系统目前的工作方式如下:
协议
://域名
/资源
#锚定链接
(本例简化了语法)
在锚定链接之后添加另一个资源路径没有意义,因为锚定链接已分配给您所寻找的资源,它不能是资源路径的一部分
解决方案:在链接末尾添加#
,使其滚动到顶部。URI中的#
用于指示给定页面上的页内锚定
我知道超链接标签href链接中的#字符用于
打开后,将指向的页面滚动到指定的元素id:
href="//site.com/#some-id"
与其说它“打开”页面,然后“滚动”到锚点,不如说它在锚点处打开页面,锚点是地址的一部分
单独使用时,表示只向上滚动到当前页面的顶部
第页:
href=“#”
是的。有点。但那是因为你没有说明锚的名称,而浏览器找不到它-所以浏览器不会带你到页面顶部以下的任何地方
但是,当它附加到链接的开头时会发生什么情况呢
href=“#/phones/phoneid/”
一旦打开,它会将指向的页面滚动到顶部吗
没必要,是吗
href="/phones/phoneid/"
将带您进入/phones/phoneid/
页面的顶部
简而言之,散列片段是网址的一部分
哈希片段由两部分组成:
#
)URI
,将在所示的锚点处打开所示的页面
单击不包含哈希片段的URI
,将在顶部打开指示的页面
如果
URI
包含一个哈希片段,该哈希片段的名称无效(或者根本没有命名),浏览器将无法找到锚点,并将默认打开顶部的指定页面。您可以自己尝试,您会发现它不起作用。