我在一个网站的源代码中偶然发现了以下代码片段。
<link href="#" id="colour-scheme" rel="stylesheet">
这是做什么的?
没有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 中技术上无效)并动态插入一个。
如果 URL 未知或默认情况下不需要设置,通常在链接标记中使用 # 以允许您稍后使用 javascript。
例子:
HTML
<link href="#" id="colour-scheme" rel="stylesheet">
JS
document.getElementById("colour-scheme").href="red.css";
这允许您在 JS 中设置样式表的 URL,而不是静态设置位置。
可能是稍后要加载的一些样式表。
href = uri
此属性指定 Web 资源的位置,从而定义当前元素(源锚点)和由该属性定义的目标锚点之间的链接。
使用哈希 (#) 作为引用通常由开发人员完成,但在实际引用未知时包含实际引用,但是如果这是在实时网站上,则可能是 JavaScript 被用于根据用户颜色加载样式表-方案选择。在他们做出选择之前,不需要配色方案,因此没有给出参考,因此使用 #.
通常我们使用下面的例子来调用我们的 css 文件。假设我有一个 html 文件,我想调用我的外部 css 文件,那时我需要使用 . 有关更多信息,请查看此链接http://www.w3schools.com/tags/att_link_href.asp
我猜,根据 html 链接标签,它主要用于链接外部文件,如
href="theme.css"
由于您使用的是 href="#" 它不会做任何事情/服务于任何目的。
<link href="#" id="colour-scheme" rel="stylesheet">
href :
这是指定要在网页中导入的 CSS 文件的位置
使用href="#"
时不会导入任何 CSS 文件。