css - 如果按钮未禁用,则悬停效果?

标签 css

我有以下 CSS 规则:

button.medium.fade-btn:hover:not([disabled]) {
  color:red;
}

和 HTML 代码:

<button class="medium fade-btn" disabled></button>

我需要悬停效果仅在按钮未禁用时才起作用。

最佳答案

您没有正确构建选择器

button.medium.fade-btn:hover:not([disabled])

理论上不会选择任何内容,但会搜索按钮的子级(没有),因为您将其放在悬停之后。

button.medium.fade-btn:not([disabled]):hover

这是正确的方法。

悬停是一个事件,因此您希望该事件发生在未禁用的按钮上,因此它发生在其他所有事件之后。选择元素,然后使用悬停作为最后一部分。使用“disabled: true/false”可能会更容易。

编辑:这可能是浏览器兼容性问题,或者您的浏览器不喜欢在类型选择器中仅使用禁用。您应该尝试在选择器中使用disabled=true,并根据支持 :not() 的版本检查您的浏览器版本。

关于css - 如果按钮未禁用,则悬停效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46583373/

相关文章:

css - 为什么我的 $ ('id' ).css ('property: value' );应用它的风格?

css - 分页问题

javascript - 查找表行时,不让嵌套的表头行停留在Javascript函数中

javascript - 网格到 ListView ,仅 CSS(带 Flexbox)

javascript - 我如何允许用户从 jquery mobile 中的可折叠集中复制/粘贴文本

javascript - jQuery - 可拖动 UI - 如何检测元素是否已被拖动到某个位置,然后调用动画

javascript - 在悬停时替换整个 div 并在悬停时切换回

HTML:边距自动不适用于导航栏

html - CSS 将表重置为默认值

html - 如何最好地将 href 链接向左对齐,将文本说明向右对齐