<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中)。这是你的代码。

09-16 22:05