【问题标题】:Is it possible to remove an a href tag using CSS? [duplicate]是否可以使用 CSS 删除 a href 标签? [复制]
【发布时间】:2012-06-14 13:12:54
【问题描述】:

我在这里有代码,我想通过 CSS 使 a href 不可点击:

<div id="header" 
     style="background: url(/uploads/header/derivativesheader.gif)" 
     class="header-link">
  <h1 id="logo" class="notext">
    <a href="/">Title</a>
  </h1> 
</div>

我无法删除硬编码的 href 标记,但想知道是否可以使用 CSS hack 覆盖它的操作。

【问题讨论】:

  • 最好用 jquery 来做。 CSS 应该留给展示元素。
  • 你想让它默认不可点击还是在javascript函数之后不可点击??
  • @Brian - 尽管我很喜欢 jquery(我真的很喜欢),但它的开销很大。如果您正在寻找一个简单的 css hack 并且存在一个,最好坚持使用它而不是使用 jquery。

标签: css href


【解决方案1】:

你可以通过pointer-events属性来禁止点击事件:http://jsfiddle.net/NnEXn/

【讨论】:

  • 这就是我的答案。
  • 谢谢马修。这实际上工作得很好。
  • @Jona - 这是一个很酷的解决方案,但有点超前了。目前,我强烈建议反对此解决方案,因为“指针事件”属性不是标准的,没有得到广泛支持,而且它是 CSS4 属性(不是错字)。本来应该包含在 css3 中的,但由于 bug 太多而被推迟到 CSS4(可能是不使用它的最好理由)
【解决方案2】:

删除没有。 隐藏是的。

#logo a { 
    display: none;
}

然而,这可能不是想要的结果,因为它也会隐藏锚的内部内容(即 标题)。因此,JavaScript 解决方案可能更适合。但是回答这个问题,这一种只使用CSS的方法。

【讨论】:

    【解决方案3】:
    <a href="/" class="hide">
    
    .hide {
       visibility: hidden;
    }
    

    这将阻止可点击操作

    【讨论】:

    • 很好的解决方案 - 保持 DOM 的流动,但你失去了链接的呈现。
    • 另外,如果您不想使用 href 属性事件,为什么还要使用锚标记?我想如果你想要这个元素是为了能够将 href 属性存储在 DOM 中,宾果游戏。
    • 如果他能够更改href,我会说他可能只是想要指针光标,但我认为这里不是这种情况。
    【解决方案4】:

    我认为这是不可能的(纯 CSS)。我知道使链接不可点击的唯一方法是在链接上放置另一个元素(zindex,仍然是纯 CSS),并且是透明的,以便单击更高的元素而不是链接。

    【讨论】:

      【解决方案5】:

      也许你不能这样做(正如你所说,你不能删除硬编码标签),但如果你可以向 DOM 添加元素,我会简单地添加一个不带 href 的重复链接并将另一个设置为“显示:没有'。这将保留页面的流程和链接的视觉呈现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-21
        • 1970-01-01
        • 1970-01-01
        • 2014-07-20
        • 1970-01-01
        • 2017-06-04
        • 2012-09-15
        • 2014-06-22
        相关资源
        最近更新 更多