我有我的配置问题的asp:菜单。当我使用任何CSS时,菜单项不再被选中。我试过3个版本,每个版本都有缺点。ASP:菜单和CSS选择的项目
这一个工作,最好的CSS,但所选择的项目没有得到选择。
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" Orientation="Horizontal" StaticEnableDefaultPopOutImage="false"DataSourceID="smdsMaster" StaticDisplayLevels="2">
<LevelMenuItemStyles>
<asp:MenuItemStyle ForeColor="White"/>
<asp:MenuItemStyle ForeColor="White" />
</LevelMenuItemStyles>
<Items>
<asp:MenuItem Text="Menu 1" NavigateUrl="~/Menu1.aspx" />
<asp:MenuItem Text="Menu 2" NavigateUrl="~/Menu2.aspx" >
<asp:MenuItem Text="Submenu 2" NavigateUrl="~/Submenu2.aspx" />
</asp:MenuItem>
<asp:MenuItem Text="Menu 3" NavigateUrl="~/Menu3.aspx" />
</Items>
</asp:Menu>
这一个显示选择,但我不能使用图像作为backgound的的菜单项。如果我在其中添加css,选择将不再显示。该子项目始终存在。
<asp:Menu ID="NavigationMenu" runat="server" DataSourceID="smdsMaster" DynamicHorizontalOffset="0" StaticEnableDefaultPopOutImage="false"
Orientation="Horizontal" StaticDisplayLevels="2" StaticSubMenuIndent="0px" MaximumDynamicDisplayLevels="2" OnMenuItemDataBound="Menu1_MenuItemDataBound"
ForeColor="White" BackColor="#EE7B00" StaticItemFormatString="<p align=center> {0}" DynamicItemFormatString="<p align=center> {0}">
<StaticMenuItemStyle BackColor="#EE7B00" Width="110px" Height="31px" HorizontalPadding="0px" VerticalPadding="0px" />
<StaticHoverStyle BackColor="#CCCC00" />
<StaticSelectedStyle BackColor="#CCCC00" />
<DynamicMenuItemStyle HorizontalPadding="0px" VerticalPadding="0px" Width="110px" Height="31px" />
<DynamicHoverStyle BackColor="#CCCC00" />
<DynamicMenuStyle BackColor="#EE7B00" />
<DynamicSelectedStyle BackColor="#CCCC00" />
</asp:Menu>
我该如何做到这一点:图像作为我的菜单项的背景,其上有文字,并显示女巫项目被选中。
谢谢。
UPDATE
下面是与它去的CSS:
.page .header_menu .menu
{
!margin: 0px;
padding: 0;
list-style: none;
background: none;
z-index: 3;
}
.page .header_menu .menu li
{
padding: 0;
margin: 0;
height: 31px;
list-style: none;
background-repeat: no-repeat;
float: left;
width: 110px;
}
.page .header_menu .menu li a
{
display: block;
text-decoration: none;
text-align: center;
height: 31px;
width: 110px;
padding-top: 5px;
background-repeat: no-repeat;
background-image: url(../Assets/btn-back-normal.gif);
color: white;
margin-top: -1px; /*Chrome = -16, IE = 0*/
z-index: 1;
}
.page .header_menu .menu li a:hover
{
background-image: url(../Assets/btn-back-over.gif);
color: white;
margin-top: -1px; /*Chrome = -16, IE = 0*/
z-index: 1;
width: 110px;
}
.page .header_menu .menu li a:active, .page .header_menu .menu li a:selected
{
background-image: url(../Assets/btn-back-selected.gif);
color: white;
margin-top: -1px;
z-index: 1;
width: 110px;
}
.page .header_menu .menu:after
{
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
z-index: 1;
width: 110px;
}
我也试着设置这些,但只有第一项保持选中状态,无论wicht一个实际选择
<style type="text/css">
#NavigationMenu a{padding-right: 0px; padding-left: 0px; padding-top: 5px; height: 26px; background-color: #EE7B00;}
#NavigationMenu a.static{ padding-right: 0px; padding-left: 0px; padding-top: 5px; height: 26px; background-color: #EE7B00;}
#NavigationMenu a.static.selected{padding-right: 0px; padding-left: 0px; padding-top: 5px; height: 26px; background-color: #cccc00;}
#NavigationMenu a.dynamic{padding-right: 0px; padding-left: 0px; padding-top: 5px; height: 26px; background-color: #EE7B00;}
#NavigationMenu a.dynamic.selected{padding-right: 0px; padding-left: 0px; padding-top: 5px; height: 26px; background-color: #cccc00;}
</style>
尝试向我们展示你的HTML + CSS,而不是你的.NET源代码。 –