【问题标题】:what does link href="#" do? [duplicate]链接 href="#" 有什么作用? [复制]
【发布时间】:2013-05-31 18:51:18
【问题描述】:

我在一个网站的源代码中偶然发现了以下sn-p。

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

这是做什么的?

【问题讨论】:

  • 我的猜测是,就其本身而言,什么都没有。该网站可能利用 ID 对 JS 做一些事情,比如随机加载特定的配色方案?
  • @DarthVader 如果可能,请提供更多详细信息

标签: html css


【解决方案1】:

如果没有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 中技术上无效)并动态插入一个。

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

    • 具体说明什么?
    • @DarthVader 已编辑以回答该问题。
    • @Jerska 你说的是&lt;a&gt; 标签。问题是&lt;link /&gt;标签...
    • 不,我不是。然后它只是一个提醒,链接在这里供编码员使用。 css 样式表显然不会被加载,因为不存在。我在这里看到的唯一兴趣是提醒开发人员不要忘记这个样式表,就像在 标记中一样。当我写“显示链接”时,它不仅仅是客户端。
    【解决方案3】:

    在链接标签中使用 # 通常用于允许您稍后在 URL 未知或不需要默认设置时使用 javascript。

    例子:

    HTML

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

    JS

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

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

    【讨论】:

    • 它可能很常用,但没有意义:即使link标签没有href属性,你也可以设置link元素的href属性。
    • 非常正确,没有分歧。不过提供了一个不错的占位符。
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:
      href = uri
      

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

      【讨论】:

      • 这没有回答他的问题
      【解决方案6】:

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

      【讨论】:

        【解决方案7】:

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

        【讨论】:

          【解决方案8】:

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

          href="theme.css"
          

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

          【讨论】:

            【解决方案9】:
            <link href="#" id="colour-scheme" rel="stylesheet">
            

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

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

            【讨论】:

              猜你喜欢
              • 2011-10-26
              • 2014-08-10
              • 2011-07-08
              • 1970-01-01
              • 1970-01-01
              • 2012-02-16
              • 2016-09-19
              • 1970-01-01
              • 2012-10-21
              相关资源
              最近更新 更多