怎样在全局遮罩层下撤销对某一元素遮罩并鼠标拖拽此div禁用下拉条

原创
小哥 3年前 (2022-11-14) 阅读数 4 #大杂烩

首先,让我们介绍一下我遇到的场景。


如上所示, 我想添加更多内容以关注tips一起突出显示, 可见遮罩层 position:fixed; z-index: 2001它已被阻止

此时,头脑中浮现出两种解决方案:

  1. 创建另一个新的div,使div完全复制此div内容,然后优先级高于此遮罩层。但这有一个缺点,由于部分布局的差异,这就涵盖了。div可能无法完全准确地涵盖这一点div,无法达到最佳效果。
  2. 第二种, 在源div操作,使其可以显示在掩模层的顶部。

在这里,我想说第二个:

在此div添加属性:

position: relative;
z-index: 2000;// 您自己设置此值。

这样,只要优先级高于fixed就行了!

然后我遇到了第二个问题。

因为这个来源div在页面底部,整个页面都有滚动条。所以只要用户将鼠标移到div只要用户滑动滚轮,并且鼠标不在源代码中,它就会导致用户滚动页面。div当我在上面的时候,我无法滚动。

因此,我们需要禁用滑动属性:
我在前端使用的技术框架是Vue, 所以只需将其直接添加到标签上。

@touchmove.prevent @mousewheel.prevent

最终实施效果如图所示:

补充: 如果你想要这个来源div如果内容无法单击怎么办

然后添加一个absolute属性的同级div元素覆盖范围足够

  width: 100%;
  left: 0;
  z-index: 23001;
  overflow: hidden;
  position: absolute;
  height: 100%;
  top: 0;
版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除