使用CSS将一个div放在另一个div的上方

3
我有一个如下所示的登录按钮,当我尝试点击它时,菜单会打开,在菜单中,我有一个ASP.Net登录控件,它显示在我的滑块下面而不是上面。因此,我想将其定位在我的滑块顶部。在我的滑块和登录按钮之间,我有菜单栏。

那么我该如何做到这一点?

enter image description here

我在Stack Overflow上关注了这个问题,但没有成功。

这是我的CSS:

#container {
    width:780px;
    margin:0 auto;
    position: relative;
}
#topnavsignin {
    padding:10px 0px 12px;
    font-size:11px;
    line-height:23px;
    text-align:right;
    margin-top:-60px;
    margin-left:120px;
}
#topnavsignin a.signin { 
    background:#88bbd4;
    padding:4px 6px 6px;
    text-decoration:none;
    font-weight:bold;
    color:#fff;
    -webkit-border-radius:4px;
    -moz-border-radius:4px;
    border-radius:4px;
    *background:transparent url('../images/signin-nav-bg-ie.png') no-repeat 0 0;
    *padding:4px 12px 6px;
    margin-left:420px;

 }
#signin_menu {
    -moz-border-radius-topleft:5px;
    -moz-border-radius-bottomleft:5px;
    -moz-border-radius-bottomright:5px;
    -webkit-border-top-left-radius:5px;
    -webkit-border-bottom-left-radius:5px;
    -webkit-border-bottom-right-radius:5px;
    display:none;
    background-color:#ddeef6;
    position:absolute;
    width:350px;
    z-index:100;
    border:1px transparent;
    text-align:left;
    top: 24.5px; 
    right: 171px; 
    margin-top:-55px;
    margin-right: 0px;
    *margin-right: -1px;
    color:#789;
    font-size:11px;
    padding: 5px;

}

这是我的展示方式:
<div id="container">
   <fieldset id="signin_menu">
    //Asp.Net Login Control
    </fieldset>
</div>

//这里是我的导航菜单

这是我的幻灯片部分

<div id="slider_wrap">
            <div id="wowslider-container1">
            </div>
 </div>
2个回答

9
要将一个Div放在另一个Div上方,您可以在css中使用z-index,结合position: absolute或relative或fixed 一些例子:

http://www.w3schools.com/cssref/pr_pos_z-index.asp

http://www.w3schools.com/css/css_positioning.asp

在您喜欢置于前方的容器上设置比置于后方的容器更大的 z-index 值。
需要注意的是,z-index 仅适用于 position 属性为 absolute、relative 或 fixed 的 div 元素。您想要控制的 div 元素必须具有这些属性。您提到的示例试图在没有这些属性(或不使用 z-index)的情况下修复 div 元素的顺序,因此在该示例中无法使用 z-index,并且需要巧妙地摆放一个元素在另一个前面而不启用 z-index。我看到您没有在其中一个元素中设置索引。

1
@Aristos-it工作得非常完美。感谢您的链接。Z-index是一个好主意!:) - coder

1

在您想要置于前面的容器上设置一个比您想要置于后面的容器更大的 z-index

请注意:只有在相同元素上使用 position: absolute/relative/fixed; 时,z-index 才能起作用。您提到的示例试图在没有这些属性之一(或不使用 z-index)的情况下修复 div 的顺序;如果不同时定义 z-indexposition,则无法将一个元素放在另一个元素前面。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接