我需要在整个DOM中禁用特定按钮(而不是所有按钮)的鼠标悬停效果。请告诉我如何使用CSS类来实现它。
当我的按钮被禁用时,我正在使用以下CSS类。现在,我想使用相同的类别去除悬停效果。
.buttonDisabled
{
Cursor:text !important; Text-Decoration: None !important;
}
上述类将处理鼠标悬停时的手势和文本下划线。现在我也想删除悬停效果。请告诉我。
我需要在整个DOM中禁用特定按钮(而不是所有按钮)的鼠标悬停效果。请告诉我如何使用CSS类来实现它。
当我的按钮被禁用时,我正在使用以下CSS类。现在,我想使用相同的类别去除悬停效果。
.buttonDisabled
{
Cursor:text !important; Text-Decoration: None !important;
}
上述类将处理鼠标悬停时的手势和文本下划线。现在我也想删除悬停效果。请告诉我。
我对这个问题有一个非常简单的解决方案。
只需创建一个新的类。
.noHover{
pointer-events: none;
}
使用此方法来禁用该元素上的任何事件。用法如下:
<a href='' class='btn noHover'>You cant touch ME :P</a>
<div class ='hover noHover'>一些内容</div>
不会影响仅具有hover
类的任何其他元素。 - Altimus Prime您可以使用:not选择器来实现这一点:
HTML代码:
<a class="button">Click me</a>
<a class="button disable">Click me</a>
CSS代码(使用SCSS):
.button {
background-color: red;
&:not(.disable):hover {
/* apply hover effect here */
}
}
当指定的类名(.disable)未应用时,使用此方法应用悬停效果样式。
&:not(.disable):hover
? - Gobliins这里有一种去除悬停效果的方法。
.table-hover > tbody > tr.hidden-table:hover > td {
background-color: unset !important;
color: unset !important;
}
!important
的属性,并且由于使用的库或框架而无法更改,则可以使用此方法。从问题中可以看出,该元素已经具有了!important
,因此这是覆盖它的唯一方法。 - Tofandel因为我只想让这个特定元素不受悬停点击事件或样式的影响,而且它只是页面上其他类似按钮的指示部分之一,所以我最终使用了内联样式,并赋予它覆盖优先级。代码如下:
<button style="pointer-events:none"></button>
要禁用悬停效果,我有两个建议:
$.unbind('hover');
$.removeClass('hoverCssClass');
使用CSS !important
来覆盖CSS会使您的CSS非常不干净,因此不建议使用该方法。您可以始终使用不同的类名复制CSS样式以保持相同的样式。
在 head 标签中添加 Html 和 CSS。只需创建一个新类,在 css 中使用以下代码片段:
pointer-events:none;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.buttonDisabled {
pointer-events: none;
}
</style>
</head>
<body>
<button class="buttonDisabled">Not-a-button</button>
</body>
</html>
从你的问题中,我理解到你已经在你的按钮上实现了一些悬停效果,而你想要去掉这些效果。为此,可以删除导致悬停效果的CSS或进行覆盖。
如果想进行覆盖,请按照以下步骤操作:
.buttonDisabled:hover
{
//overriding css goes here
}
.buttonDisabled:hover
{
/*your code goes here*/
}
使用transition: all 100s ease-in-out;
来覆盖鼠标悬停时的更改。如果您不知道要替换的属性的原始值,这不是一种解决方案,而是一种变通方法。
其他解决方案对我无效。
我只是改变了这个
.home_page_category_links {
color:#eb4746;
}
转换为:
.home_page_category_links, .home_page_category_links:hover {
color:#eb4746;
}
这意味着应用于该类元素的样式也会在鼠标悬停时应用于该类元素。
额外说明:如果您想保持颜色不变,也许您还想避免任何下划线,如果是这样,请同时包括text-decoration: none;
(如果使用bootstrap,则为text-decoration: none !important;
)。