<div id="headContainer">
<div id="blackBar">
<div class="content">
<img src="../Images/logo.png" class="logo" alt="logo" />
<div id="clientSettings">
<div id="settingsContainer">
<ul>
<li><asp:LinkButton ID="endSession" OnClick="endSession_Click" Text="Exit" runat="server" /></li>
<li>not available</li>
</ul>
</div>
</div>
<div id="clientProfile"></div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#clientSettings').click(function () {
$('#settingsContainer').toggle();
});
});
</script>
<div id="grayBar">
</div>
</div>
好吧,正如您可能从上面猜到的,我试图在使用jquery单击
#settingsContainer
后显示#clientSettings
。我可以用.toggle()
方法实现这一点。但是,#settingsContainer
需要重叠。请参见下面的css:
头容器:
#headContainer
{
top : 0;
left : 0;
width : 100%;
height : 100px;
position : fixed; <- or relative doesn't matter.
z-index : 1;
}
#headContainer div#grayBar
{
top : 0;
left : 0;
position : relative; <- or fixed doesn't matter.
width : 100%;
height : 50px;
background-color : #f1f1f1;
z-index : 1;
}
客户端设置+设置容器:
#headContainer div#blackBar div#clientSettings
{
float : left;
position : relative;
width : 25px;
height : 50px;
background-image : url('../Images/Icons/endSession.png');
background-repeat : no-repeat;
background-position : center center;
}
#headContainer div#blackBar div#clientSettings:hover
{
cursor : pointer;
background-color : #636363;
}
#headContainer div#blackBar div#clientSettings #settingsContainer
{
position : relative; <- tried using absolute instead.
top : 50px;
left : 0;
padding : 50px;
background-color : Green;
z-index : 99999; <- doesn't really matter.
}
我正试图找出一种方法,让
#grayBar
与它的父母和其他一切重叠,同时让它作为#settingsContainer
的孩子。谢谢您。
最佳答案
这是因为float:left
中的#clientSettings
,浮动元素从浏览器的绘图流中出来,因此它们的行为开始类似于position:absolute
元素。您可以删除float:left
或开始使用z-index(在#settingsContainer
和#clientSettings
中)。这是你的代码。