关于html:链接href =“#”做什么?

what does link href=“#” do?

本问题已经有最佳答案,请猛点这里访问。

我在一个网站的源代码中偶然发现了以下片段。

1
<link href="#" id="colour-scheme" rel="stylesheet">

这是做什么的?


如果没有base元素,它就不会做任何事情,只会稍微消耗浏览器的资源。根据url规范,#作为url是对当前基本url处文档开头的引用。由于标记必须在HTML文档中,所以它将失败(可能是因为文档使用了HTML媒体类型,也可能是因为浏览器试图用CSS解析器解析HTML而失败)。

如果使用base标记,将基本URL设置为引用CSS文档的URL,那么它在技术上会起作用,例如。

1
2
3
4
5
<!doctype html>
Demo
<base href="http://www.cs.tut.fi/~jkorpela/basic.css">
<link href="#" id="colour-scheme" rel="stylesheet">
Hello world

这将是非常不正常的,真的,而且它将有效地防止您在文档中使用相对的URL。所以这只是一个理论上的可能性,而不是实际发生的事情。

可能href="#"只是这里的一个占位符,可以被javascript代码或其他东西覆盖。它的编码风格不好有几个原因。最好省略href属性(即使在HTML5中这在技术上是无效的),并动态插入一个属性。


事实上,除了停留在同一个页面之外,这什么都没有。

这来自允许跳转到页面的一部分(更具体地说,在ID上)的锚。

这通常是为了说应该在这里引入一些链接,因为它没有效果。在编写网站代码时,显示链接通常很有用,即使链接引用的页面还不存在。这通常是一个临时的解决方案。

正如Ryan和Tom的答案中指定的,它还可以用于动态加载CSS文件。


在链接标记中使用通常用于允许您在以后的URL未知或默认情况下不需要设置时使用javascript。

例子:

HTML

1
<link href="#" id="colour-scheme" rel="stylesheet">

JS

1
document.getElementById("colour-scheme").href="red.css";

这允许您在JS中设置样式表的URL,而不是静态设置位置。


使用hash()作为参考通常是由开发人员完成的,但在不知道的情况下还没有包括实际的参考,但是如果这是在一个实时网站上,可能是javascript正被用来加载基于用户颜色方案选择的样式表。在他们做出选择之前,不需要颜色方案,因此不提供参考,因此。


1
href = uri

此属性指定Web资源的位置,从而定义当前元素(源锚定)和此属性定义的目标锚定之间的链接。


可能是稍后要加载的样式表。


1
<link href="#" id="colour-scheme" rel="stylesheet">

href :这是指定要在网页中导入的css文件的位置。

使用href="#"时,不会导入任何css文件。


我猜,根据HTML链接标签,它主要用于链接外部文件,比如

1
href="theme.css"

因为您使用的是href=""它不会做任何事情/起任何作用。


通常我们使用下面的例子调用我们的CSS文件。假设我有一个HTML文件,我想调用我的外部CSS文件,这时我需要使用。有关详细信息,请查看此链接http://www.w3schools.com/tags/att_link_href.asp