我有以下代码,我用它来创建一个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;
}
答案 0 :(得分:0)
我自己花了几个小时在这个上面。 :( asp:菜单非常缺乏。
我正在使用LevelMenuItemStyles:
<LevelMenuItemStyles>
<asp:MenuItemStyle CssClass="menuLevel1"/>
<asp:MenuItemStyle CssClass="menuLevel2"/>
<asp:MenuItemStyle CssClass="menuLevel3"/>
</LevelMenuItemStyles>
为菜单的每个级别提供不同的样式,但遇到了悬停样式无法正常工作的相同问题。解决方案是使用CSS悬停代替。
所以不是......
.style1_hover { ... }
使用
.style1:hover { ... }
并删除该行。
<DynamicHoverStyle CssClass="style1_hover"/>
我假设在不使用关卡样式时它的工作方式相同。
我很久以前就意识到这个问题了,你可能会继续前进或找到解决方案,但希望这可以帮助你或其他人。