说明:
截图中两张图片使用了position来实现拖拽的,图片外星人z-index高于qq,qq图片拖拽时接触到外星人时会卡住,不知道如何才能穿过外星人。动态更改两者的z-index,将鼠标选中的对象的z-index设置为最高,理论上也是可行的,但感觉不对味。
问题:
如何才能实现低z-index穿过高z-index,请大佬们指点。
实际上我想实现这样的功能,如下方小程序截图所示:
说明:
截图中两张图片使用了position来实现拖拽的,图片外星人z-index高于qq,qq图片拖拽时接触到外星人时会卡住,不知道如何才能穿过外星人。动态更改两者的z-index,将鼠标选中的对象的z-index设置为最高,理论上也是可行的,但感觉不对味。
问题:
如何才能实现低z-index穿过高z-index,请大佬们指点。
实际上我想实现这样的功能,如下方小程序截图所示:
就你的这个来说可以注册事件当鼠标拖拽时提高目标的z-index, 鼠标松开时z-index复原就可以了, 你问的那个小程序这种的一般使用canvas等, 不会单独送CSS+div写的:
https://www.bilibili.com/vide...
13 回答12.9k 阅读
8 回答2.7k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答2.1k 阅读
5 回答1.3k 阅读
3 回答2.2k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
要让一个低z-index的图片能够穿过一个高z-index的图片,需要使用CSS属性pointer-events。这个属性可以控制元素是否可以响应鼠标事件,包括鼠标点击、滚动、拖拽等。
默认情况下,元素的pointer-events属性值为auto,表示元素可以响应鼠标事件。但如果将它设置为none,元素将无法响应鼠标事件,包括拖拽事件。因此,我们需要将高z-index的图片的pointer-events属性设置为none,以便让低z-index的图片可以通过它。
以下是一个示例,假设我们有两个图片元素,其中一个z-index为1,另一个z-index为2,且2在1的上方。为了让1可以穿过2,需要设置2的pointer-events属性为none: