【问题标题】:How to cover a div with another div如何用另一个div覆盖一个div
【发布时间】:2014-08-07 12:41:09
【问题描述】:

假设我的网页上到处都是 divs B-Z。我有div A,它以

开头插入
  position: absolute !important;
  height: 100% !important;
  width: 100% !important;

它基本上跨越了整个浏览器页面。但是,divA 是隐藏的。

现在,我正在尝试实现文件上传拖放功能。这个想法是这样的:div A 在页面加载后立即隐藏,并且在用户将文件拖到浏览器上之前一直保持隐藏状态。此时,divA 出现了,覆盖了所有其他元素,然后在 drop 之后,它再次隐藏了自己。

在意识到 jquery/ember dragLeave 事件会在进入或离开任何子元素时触发,我现在正在寻找一种方法让 div 覆盖所有其他元素,以便在 @987654327 上发生的所有鼠标事件@A 甚至没有为它下面的元素注册。事实上,当这个div 显示时,甚至不应该看到其他元素。有点像 Photoshop 图层。

我试过Z-index 无济于事。

需要明确的是,divs B-Z 不是div A 的子元素; div A 被简单地插入到所有其他 divs 之前。

【问题讨论】:

  • 根据您的问题,下面的Dusty 答案应该是答案。 z-indexCSS.
  • 为什么不隐藏其他 div?

标签: jquery css drag-and-drop jquery-ui-draggable jquery-draggable


【解决方案1】:

如果您希望它位于所有其他 div 之上,则 div A 应该位于所有其他 div 之后(这将在没有 z-index 的情况下工作)。只要其他元素也没有 z-index,正 z-index 就应该起作用。

【讨论】:

  • 嗯,这很容易。非常感谢。只是为了澄清一下,是不是因为 A 的位置是绝对的,所以放在 A 之后的每个 div 都会放在 A 上?
  • 由于A是绝对的,所以从页面流中取出。这意味着放置其他 div 就好像 A 不存在一样。由于元素的顺序决定了哪个在前面,所以 A 之后的所有内容都将放在它上面。
猜你喜欢
  • 1970-01-01
  • 2021-07-12
  • 2011-02-25
  • 2014-01-26
  • 1970-01-01
  • 2013-01-27
  • 2011-10-06
  • 2021-06-21
相关资源
最近更新 更多