如何将CSS应用于第二级菜单项?

时间:2020-03-06 14:38:40  来源:igfitidea点击:

我有一个从Sitemap运行的菜单,其中SiteMapNode的其中一个看起来像这样:

<siteMapNode title="Gear" description="" url="">
  <siteMapNode title="Armor" description="" url="~/Armor.aspx" />
  <siteMapNode title="Weapons" description="" url="~/Weapons.aspx" />
</siteMapNode>

我还对使用以下CSS定义的asp:menu应用了外观:

.nav-bar {
  z-index: 2;
  margin-top: -5%;
  position: absolute;
  top: 281px;
  font-family: Jokewood;
  font-style: italic;
}

当我运行网站并在Gear链接上单击mouseOver时,Jokewood字体未应用于这些项目,如何将CSS应用于Armor和Weapons标题?

更新
我应该提到的是,字体在所有非嵌套的siteMapNodes上都能正确显示。

解决方案

我们可以通过按顺序列出CSS命令来嵌套它们

siteMapNode siteMapNode {.... CSS代码...}将应用于内部节点。

例如,

#menu ul ul {...}

将应用于
<ul> <-不在这里
<li>
</ li>
</ ul>
<div id =" menu">
<ul> <-不在这里
<ul> <-这里

Firefox的Web开发人员(https://addons.mozilla.org/en-US/firefox/addon/60)插件是替代Firebug的不错选择。 CSS调试(IMO)使用起来更容易

我们应该绑定这样的样式(对于静态和动态菜单项):

<asp:Menu ID="Menu1" runat="server" >
    <StaticMenuStyle CssClass="nav-bar" />
    <DynamicMenuStyle CssClass="nav-bar" />
</asp:Menu>

通过.skin模板应用皮肤。

<asp:Menu runat="server" CssClass="nav-bar" />