是否有一种方法禁用链接使用CSS?
我有一个名为current-page的类,并希望禁用该类的链接,以便在单击它们时不发生任何操作。
是否有一种方法禁用链接使用CSS?
我有一个名为current-page的类,并希望禁用该类的链接,以便在单击它们时不发生任何操作。
当前回答
我使用:
.current-page a:hover {
pointer-events: none !important;
}
这还不够;在某些浏览器中,它仍然会闪烁着显示链接。
我必须补充一句:
.current-page a {
cursor: text !important;
}
其他回答
试试这个:
<style>
.btn-disable {
display: inline-block;
pointer-events: none;
}
</style>
Pointer-events:none将禁用该链接:
.disabled {
pointer-events: none;
}
<a href="#" class="disabled">link</a>
你可以用CSS来做这件事的一种方法是在包装div上设置一个CSS,你设置它消失,其他东西会取代它的位置。
例如:
<div class="disabled">
<a class="toggleLink" href="wherever">blah</a>
<span class="toggleLink">blah</span
</div>
使用CSS
.disabled a.toggleLink { display: none; }
span.toggleLink { display: none; }
.disabled span.toggleLink { display: inline; }
要真正关闭a,您必须替换它的click事件或href,如其他人所述。
PS:澄清一下,我认为这是一个相当不整洁的解决方案,对于SEO来说也不是最好的,但我相信它是纯CSS最好的。
CSS只能用来改变一些东西的样式。使用纯CSS所能做的最好的事情就是完全隐藏链接。
您真正需要的是一些JavaScript代码。下面是如何使用jQuery库完成您想做的事情。
$('a.current-page').click(function() { return false; });
从这个解决方案:
(aria-current =“页面”){ pointer-events:没有; 光标:违约; 文字修饰:没有; 颜色:黑色; } <a href=" Link .html" aria-current="page">Link</a> .html
有关浏览器支持,请参见https://caniuse.com/#feat=pointer-events。如果你需要支持ie浏览器,有一个变通办法;请看这个答案。
警告:在CSS中对非svg元素使用指针事件是实验性的。该特性曾经是css3 UI草案规范的一部分,但由于许多悬而未决的问题,已被推迟到css4。