html - CSS 样式不影响子元素(按钮)
问题描述
现在,如果我将 inactiveLink 类添加到<a>
它也会影响里面的按钮。他们不能再被点击了。我是否必须制作另一种样式activeLink
来重新打开这些功能,或者有没有办法只影响<a>
元素而不影响里面的按钮?
如果没有其他方法,默认cursor
和pointer-events
按钮是什么?
HTML
<a class="text-body selectable-element inactiveLink">
[...]
<button>Click</button>
</a>
CSS
a.inactiveLink {
pointer-events: none;
cursor: default;
}
解决方案
虽然另一个答案会起作用(在我打字时它被删除了),但真正的问题是:如果你想要停用锚,是否真的应该在其中插入一个活动按钮?
随着站点/应用程序的扩展,其他开发人员会知道该类的作用吗?我认为 CSS 本身就很好,但是 HTML 可以移动,因此这些活动元素存在于非活动锚点之外(可能在共享父元素中)。值得深思!
如果您只想快速修复,请将“始终活动”类添加到按钮,并添加以下 CSS:
.always-active {
cursor: auto;
pointer-events: auto;
}
a.inactiveLink {
pointer-events: none;
cursor: default;
}
button.always-active {
pointer-events: auto;
cursor: auto;
}
<a class="text-body selectable-element inactiveLink">
[...]
<button class="always-active" onClick="alert('it works')">Click</button>
</a>
推荐阅读
- javascript - 可以使用引导程序禁用时间选择器
- php - React Native 与 Laravel Echo 和 Socket.io 无响应
- pentaho - Pentaho MS-SQL 为表输出设置 IDENTITY_INSERT a00 ON
- python - 使用 Python 从变量而不是文件打印 PDF
- c# - SafeArrayTypeMismatchException:指定的数组不是预期的类型
- swift - 如何将 Swift 中的参数传递给采用 UnsafePointer 的 C 函数?
- react-native - React Native Android staging build 在启动时崩溃
- vue.js - 当不同的路由使用相同的组件时,在加载时重置 vue 组件上下文
- javascript - 删除对象适合的填充:包含(图像缩放层)
- javascript - 我只需要在链接中获取图像的图像源,将其转换为字符串并将其作为 ALT 添加到图像中