pointer-events
CSS 属性作为 SVG 的一部分已经存在很长时间,它可以通过控制鼠标事件是否发送到鼠标正下方元素或传递到它下面的元素来进行控制。在 Firefox 3.6 中,我们扩展了该属性,使其也可以应用于普通的 HTML 内容。
对于 SVG,您可以将 pointer-events
属性设置为多个值之一,但是对于 HTML,您只能将它设置为两个值之一:auto
或 none
。
.foo {
pointer-events: none;
}
当 pointer-events
设置为 none
时,指针事件将通过目标元素传递,并发送到它下面的元素。
.foo {
pointer-events: auto;
}
当 pointer-events
设置为 auto
时,指针事件将正常处理。也就是说,元素阻止事件传递到较低元素。
这里有一个来自 Paul Rouget 的现实世界示例。您需要 Firefox 3.6 beta 才能看到它在行动。
点击图片下方的 pointer-events: none
复选框,查看它是否发生变化。
他复制了 twitter.com 首页上的标签列表。(注意:您必须没有登录才能看到标签列表。) 如果你在 Twitter 上查看,你会注意到它在右侧淡出。 这是通过一个透明的淡出图像完成的,该图像位于底层框的顶部。 底部的标签是可点击的链接,但图像会阻止事件发送到淡出下面的链接。
Paul 所做的是展示了如何使用 pointer-events
属性,即使在顶部有淡出效果的情况下,也允许您点击底层的链接。
关于 Christopher Blizzard
一次发布,让网络更美好。
31 条评论