0

我有以下代码用于创建 asp.net 菜单。我已经为每个动态项目分配了 CssClasses 并创建了特定的类。但是,dynamicHoverStyle 类没有生效。有谁知道为什么会这样?

<asp:Menu ID="Menu1" StaticEnableDefaultPopOutImage="false" runat="server" BackColor="#B5C7DE" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284E98" Orientation="
    <DynamicHoverStyle CssClass="style1_hover"/>
    <DynamicMenuStyle CssClass="style2" />
    <DynamicMenuItemStyle CssClass="style1" />
    <DynamicSelectedStyle BackColor="#507CD1" />
    <Items>
        <asp:MenuItem Text="Menu A" Value="Menu A">
        <asp:MenuItem Text="Submenu A" Value="Submenu A"></asp:MenuItem>
        <asp:MenuItem Text="Submenu B" Value="Submenu B"></asp:MenuItem>
        <asp:MenuItem Text="Submenu C" Value="Submenu C"></asp:MenuItem>
    </Items>

    <StaticHoverStyle />

    <StaticMenuItemStyle BorderColor="Green" BorderWidth="1px" VerticalPadding="8px" />
    <StaticSelectedStyle BackColor="#507CD1" />



.style1 {
    background-color:white;
    border-color:black;
    border:solid;
    border-width:1px;
    padding-left:20px;
    padding-right:20px;
    padding-top:10px;
    padding-bottom:10px;
}

.style2 {
    background-color:blue;
    border-color:black;
    border:solid;
    border-width:1px;
    padding-left:20px;
    padding-right:20px;
    padding-top:10px;
    padding-bottom:10px;
}


.style1_hover {
    background-color:blue;
    border-color:black;
    border:solid;
    border-width:1px;
    padding-left:20px;
    padding-right:20px;
    padding-top:10px;
    padding-bottom:10px;
    font-size:large;
}
4

1 回答 1

0

我自己花了几个小时在这个上面。:( asp:Menu 非常缺乏。

我正在使用这样的 LevelMenuItemStyles:

<LevelMenuItemStyles>
    <asp:MenuItemStyle CssClass="menuLevel1"/>
    <asp:MenuItemStyle CssClass="menuLevel2"/>
    <asp:MenuItemStyle CssClass="menuLevel3"/>
</LevelMenuItemStyles>

为菜单的每个级别提供不同的样式,但遇到了悬停样式不起作用的相同问题。解决方案是改用 CSS hover。

所以而不是...

.style1_hover { ... }

利用

.style1:hover { ... }

并删除该行。

<DynamicHoverStyle CssClass="style1_hover"/>

我假设这在不使用关卡样式时是一样的。

我意识到这个问题是不久前提出的,您可能已经继续前进或找到了解决方案,但希望这对您或其他人有所帮助。

于 2014-01-15T06:34:21.297 回答