【发布时间】:2014-12-11 10:22:45
【问题描述】:
我正在使用 html 和 jquery 将 img 定位到另一个容器中。 现在我遇到了与此类似的问题: set Z index not working. button behind a container (HTML - CSS)
唯一的问题是:那里提到的解决方案不起作用。我的图像仍然显示在按钮下方(这是一个提交类型的输入字段和一个重置类型的字段)。
图像本身的 z-index 为 2400,而两个按钮(以及按钮的父级)的位置:relative 和 z-index 为 1。
现在我的问题是那里还有哪些可用的选项?
根据要求提供附加信息(图片均为 20 x 20 像素)
var x = (pictureToWhichToPlace.left + 20).toString() + "px";
var y = (pictureToWhichToPlace.top + 20).toString() + "px";
$(document).find(".myInsertImageContainer").first().appendTo($(document).find(".subimg").first().parent());
$(document).find(".myInsertImageContainer").first().css({
'top': y, 'left': x, 'width': 24, 'height': 24, 'z-index': 2300, 'position': 'absolute'
});
$(document).find(".subimg").first().parent().css({
'z-index': 2200, 'position': 'relative'
});
我插入的位置是一个 div,里面有多个图像:
<div>
<img class = "subimg" />
<img class = "subimg" />
<img class = "subimg" />
</div>
<div style="z-index: 1; position: relative">
<input type="submit"> value="mysubmit" />
</div>
<div class="myInsertImageContainer">
<img class = "myInsertImage" style="z-index: 2500; width:20;height:20 "/>
</div>
正如评论中提到的,整个页面是 nintex 表单的一部分,因此我将以上内容放在一起以尽可能接近原始情况,而不发布 10 页文本。
【问题讨论】:
-
你能展示一些你的css吗?但总的来说,为了产生这种效果,我会让元素的父容器具有位置:'relative',并且所有子元素都具有位置:'absolute'。但是,没有一些代码,我可以知道是否是这种情况。
-
我们很难在没有看到代码的情况下调试这个并帮助您。我猜这仍然是 z-index 问题,很可能是堆叠上下文/堆叠顺序问题。看看这篇文章:philipwalton.com/articles/what-no-one-told-you-about-z-index
-
代码显示为共享点页面/ nintext 形式有点复杂(因此有相当多的 css,... 代码)。但其他:我将 img 移动到的容器没有明确说明的位置。图像本身具有绝对位置(我手动确定)。我测试的按钮和按钮的容器在两者中都具有相对位置
-
一个绝对定位的元素将在其最近定位的(除了静态的)父容器的堆叠上下文中
-
您是否尝试过在展位按钮和图像中使用绝对位置?正如 lee_gladding 所说,具有绝对位置的元素将相对于最近的父级而不是静态定位。如果您将父级设置为相对位置,那就是您需要的情况。混合子元素的相对位置和绝对位置似乎不是解决方案。