我目前正在一个我需要心灵的网站上工作。我用JavaScript和CSS创造了心灵:
function heart(x, y, pos, width, r) {
var height = width + (width / 2 + 1);
var heart = "position:" + pos + ";left:" + x + "px;top:" + y + "px;width:" + width + "px;height:" + height + "px;transform: rotate(" + r + "deg);-moz-transform: rotate(" + r + "deg);-webkit-transform: rotate(" + r + "deg);";
var slices = "left:" + width + "px;width:" + width + "px;height:" + height + "px";
$("body").append('<div class="heart" style="' + heart + '"><div class="slice" style="' + slices + '"></div><div class="slice2" style="' + slices + '"></div></div>');
}
我目前正尝试使用以下方法将大心脏放在一个盒子下面
heart(282, 69, "absolute", 230, 0);
但是,z-index
没有做任何事情,您可以在我的JSFiddle示例中看到。
我甚至尝试将通用选择器(*)的z-index
设置为0,同时将框的z-index
更改为10 !important;
但是没有工作要么。我很困惑为什么会这样,但我很确定它与动态的心脏有关。谢谢。
答案 0 :(得分:3)
需要定位元素才能使z-index
起作用。请参阅visual formatting modal。
在这种情况下,您只需在框中添加position:relative
即可。
.welcome {
z-index:10;
position: relative;
background: #fff;
margin: 0 auto;
width: 200px;
padding: 100px;
text-align: center;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px;
-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px;
box-shadow: rgba(0, 0, 0, 0.2) 0px 1px 3px;
}
也不需要!important
。
答案 1 :(得分:3)
为了使用z-index
,您的<div>
不能是position: static;
(这是默认设置)
因此,为了在心中显示.welcome
,您需要添加position:relative;
然后它应该工作。
答案 2 :(得分:1)