0

在我的母版页上,我创建了一个水平菜单,由 CSS 设置样式。列表项显示带有链接按钮的面板,以将用户带到不同的页面。

面板始终显示在控件上方,一页除外。
页面内容显示 2 asp:Buttons。在此页面上,面板隐藏在按钮后面,但面板的边框仍然显示。

下图将清楚地说明:
证据

水平菜单的 CSS 如下:

/* Horizontal menue style */
ul 
{

    padding: 0;
    margin: 0 0 0 0 ;
    list-style: none;
}

li 
{
    cursor: default;
    float: left;
    position: relative;
    width: 90px;
    color: darkgray;
    text-align: center;
    background-color: white;
    height: 23px;
    padding-top: 2px;
}

li:hover {
    background-color: white;
    color: black;
    padding-top: 2px;
}

li ul 
{

    display: none;
    position: absolute;
    margin: 0;
    padding: 0;
    margin-top: -9px;
    width: 100px;
}

li > ul 
{

    top: auto;
    left: auto;
}

li:hover ul, li.over ul
{
    display: block;
}

该面板通过一个皮肤文件:
<asp:Panel runat="server" CssClass="menuWrapper" SkinID="MenuWrapper"></asp:Panel>

.menuWrapper 
{
    z-index: 500;
    font-size: small;
    margin-top: 15px;
    margin-left: -2px;
    padding: 5px;
    padding-left: 15px;
    line-height: 25px;
    background-color: white;
    width: 190px;
    text-align: left;
    border-left: 1px lightgray solid;
    border-bottom: 1px lightgray solid;
    border-right: 1px lightgray solid;
    border-top-right-radius: 5px 5px;
    border-bottom-right-radius: 5px 5px;
    border-bottom-left-radius: 5px 5px;
}

我什至摆弄 z-index。如何创建解决方案。

4

1 回答 1

0

答案在于 UL 的 z-index。我已将 UL css 更改为以下内容:

ul 
{

    padding: 0;
    margin: 0 0 0 0 ;
    list-style: none;
    z-index: 499;
}

现在已经解决了这个问题。

于 2012-09-17T09:40:18.963 回答