21

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

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

这是做什么的?

4

9 回答 9

3

除了保持在同一页面上之外,这实际上没有任何作用。

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

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

正如RyanTom 的回答中所指定的,它也可以用于动态加载 CSS 文件。

于 2013-06-05T07:14:22.963 回答
3

没有base元素,它不会做任何事情,只是稍微消耗浏览器的资源。根据 URL 规范,#作为 URL 是对当前基本 URL 处文档开头的引用。因为标签必须在 HTML 文档中,所以它会失败(要么是因为文档是使用 HTML 媒体类型提供的,要么是在浏览器尝试使用 CSS 解析器解析 HTML 失败之后)。

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

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

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

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

于 2013-06-05T08:07:18.833 回答
2

如果 URL 未知或默认情况下不需要设置,通常在链接标记中使用 # 以允许您稍后使用 javascript。

例子:

HTML

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

JS

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

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

于 2013-06-05T07:26:58.287 回答
1

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

于 2013-06-05T07:14:56.870 回答
1
href = uri

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

于 2013-06-05T07:19:59.183 回答
1

使用哈希 (#) 作为引用通常由开发人员完成,但在实际引用未知时包含实际引用,但是如果这是在实时网站上,则可能是 JavaScript 被用于根据用户颜色加载样式表-方案选择。在他们做出选择之前,不需要配色方案,因此没有给出参考,因此使用 #.

于 2013-06-05T07:27:11.277 回答
0

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

于 2013-06-05T07:26:06.857 回答
0

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

href="theme.css"

由于您使用的是 href="#" 它不会做任何事情/服务于任何目的。

于 2013-06-05T07:26:12.747 回答
0
<link href="#" id="colour-scheme" rel="stylesheet">

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

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

于 2013-06-05T07:27:58.940 回答