使用CSS将一个div放在另一个div的顶部

时间:2012-01-14 11:59:55

标签: asp.net css html position

我有一个登录按钮,如下所示,当我尝试点击该菜单打开时,我有一个ASP.Net登录控件,它显示在我的滑块下面而不是它上面。所以我想定位它位于我的滑块之上。在我的滑块和登录按钮之间,我有菜单栏。

那我该怎么做?

enter image description here

我已经关注了这个question,但没有成功

这是我的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 个答案:

答案 0 :(得分:9)

要将一个Div放在另一个Div上,您可以使用css上的z-index以及position: absolute or relative or 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, or fixed,而您想要控制的div具有此属性。 您提到的示例尝试修复div的顺序而不使用其中一个属性(或使用z-index),所以在示例中不能使用z-index,这是一个棘手的方法在没有启用z-index的情况下将一个放在另一个之前。

正如我所见,你没有在其中一个中设置索引。

答案 1 :(得分:1)

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

请注意:z-index仅适用于同一元素上的position: absolute/relative/fixed;。您提到的示例尝试修复div的顺序而不使用其中一个属性(或不使用z-index);如果没有将z-indexposition一起定义,则无法将一个元素放在另一个元素的前面。