2012-06-11 34 views
2

我有一些代码在这里,我想通过CSS使A HREF无法点击:是否可以使用CSS去除一个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黑客行动。

+5

更好的做法与jQuery。 CSS应留给演示文稿元素。 – Brian

+0

你想让它在默认情况下或javascript函数后无法点击吗? – shahbaz

+2

请有人关闭它http://stackoverflow.com/questions/2091168/disable-a-link-using-css – island205

回答

2

删除没有。 隐藏是的。

#logo a { 
    display: none; 
} 

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

1

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

7

您可以禁止与pointer-events财产的单击事件:http://jsfiddle.net/NnEXn/

+0

这就是我的答案。 –

+0

谢谢马修。这实际上是完美的。 –

+0

@Jona - 这是一个很酷的解决方案,但有点超前。我目前强烈反对这个解决方案,因为'指针事件'属性不是标准的,没有得到广泛的支持,而且它属于CSS4(不是错字)。它应该被包含在css3中,但由于缺陷的数量而被推迟到CSS4(可能是最好的理由不使用它) –

1
<a href="/" class="hide"> 

.hide { 
    visibility: hidden; 
} 

这将防止点击动作

+0

好的解决方案 - 保持DOM的流动,但是你失去了链接的渲染。 –

+0

另外,如果你不想使用href属性事件,为什么还要有一个锚标签?我想如果你想要这个元素的目的是能够存储Hough属性在DOM,宾果。 –

+0

如果他能够改变href,我会说他可能只是想要指针光标,但我不认为这是这种情况。 –

0

或许你不能做到这一点(因为你说你不能删除硬编码的标签),但是如果你可以添加元素到DOM,我只需添加一个没有href的重复链接,并将另一个设置为'display:none'。这将保留页面的流动和链接的可视化渲染。

相关问题