Как мне применить css к пунктам меню второго уровня?
Вопрос
У меня есть меню, исходящее из sitemap, один из SiteMapNode которого выглядит следующим образом:
<siteMapNode title="Gear" description="" url="">
<siteMapNode title="Armor" description="" url="~/Armor.aspx" />
<siteMapNode title="Weapons" description="" url="~/Weapons.aspx" />
</siteMapNode>
У меня также есть скин, примененный к asp:menu, который использует следующее определение css:
.nav-bar {
z-index: 2;
margin-top: -5%;
position: absolute;
top: 281px;
font-family: Jokewood;
font-style: italic;
}
Когда я запускаю веб-сайт и наведу курсор мыши на ссылку Gear, шрифт Jokewood не применяется к этим предметам, как я могу применить css к названиям брони и оружия?
Обновить
Я должен был упомянуть, что шрифт отображается корректно на всех не вложенных узлах siteMapNodes.
Решение
Вы должны привязать подобные стили (как для статических, так и для динамических пунктов меню):
<asp:Menu ID="Menu1" runat="server" >
<StaticMenuStyle CssClass="nav-bar" />
<DynamicMenuStyle CssClass="nav-bar" />
</asp:Menu>
Другие советы
вы можете вложить CSS-команды, перечислив их последовательно
SiteMapNode SiteMapNode { ....css - код ...} будет применен к внутреннему узлу.
например,
#меню ul ul { ...}
было бы применено к
<ul> <-- не здесь
<li>
</li>
</ul>
<div id="menu">
<ul> <-- не здесь
<ul> <---- здесь
Firefox's Веб -разработчик (https://addons.mozilla.org/en-US/firefox/addon/60) аддон является хорошей альтернативой / компаньоном firebug.Это проще в использовании для отладки CSS (ИМО)
Скин наносится с помощью шаблона .skin.
<asp:Menu runat="server" CssClass="nav-bar" />