Стилизация навигации двумя разными способами на странице Orchard

У меня есть сайт Orchard, над которым я работаю. Этот сайт использует одни и те же навигационные ссылки в верхнем и нижнем колонтитулах страницы. Хитрость в том, что ссылки должны быть оформлены по-разному. Вот слишком упрощенная версия моего кода:

<header>
  @Display(Model.Navigation)
</header>

...

<footer>
  @Display(Model.Navigation)
</footer>

Когда я запускаю страницу, генерируется следующий HTML:

<header>
  <div class="zone zone-navigation">
    <article class="widget-navigation widget-menu-widget widget">
      <nav>
        <ul class="menu menu-main-menu">        
          <li class="current first"><a href="/Site/">Home</a></li>
          <li><a href="/Site/Blog">Blog</a> </li>
          <li><a href="/Site/Contact">Contact</a></li>
          <li class="last"><a href="/Site/About">About Us</a></li>
        </ul>
      </nav>
    </article>
  </div>
</header>

...

<footer>
  <div class="zone zone-navigation zone zone-navigation">
    <article class="widget-navigation widget-menu-widget widget widget-navigation widget-menu-widget widget">
      <nav>
        <ul class="menu menu-main-menu menu menu-main-menu">        
          <li class="current first"><a href="/Site/">Home</a></li>
          <li><a href="/Site/Blog">Blog</a> </li>
          <li><a href="/Site/Contact">Contact</a></li>
          <li class="last"><a href="/Site/About">About Us</a></li>
        </ul>
      </nav>
    </article>
  </div>
</footer>

Кажется странным, что имена классов перечислены дважды при втором использовании Model.Navigation. Несмотря на это, в настоящее время у меня есть следующие определения классов css в файле css, на который я ссылаюсь:

.menu-main-menu { list-style-type:none; display:inline; vertical-align:bottom; }
.menu-main-menu ul { float:left; margin-left:-1em; }
.menu-main-menu li { float:left; line-height:32px; border-left:1px solid green width:auto; font-size:10.5pt; font-weight:bold; font-family:Arial; }
.menu-main-menu li:first-child { border: 0;}
.menu-main-menu li a { display: block; padding: 0 1em; height:48px; }
.menu-main-menu li.current a, .menu-main-menu li.current a:hover {background:#d8e0be}
.menu-main-menu li a:hover {background:#e9e6d7; text-decoration:none}

Мой первый раздел навигации выглядит правильно. Как оформить элементы навигации в нижнем колонтитуле, чтобы они выглядели по-другому? Спасибо


person JQuery Mobile    schedule 18.12.2012    source источник


Ответы (1)


Используйте теги заголовка и нижнего колонтитула, которые содержат класс .menu-main-menu. Это поможет вам различать эти два элемента на странице:

.menu-main-menu { ... }
header .menu-main-menu { ... }
footer .menu-main-menu { ... }
person MikeTedeschi    schedule 18.12.2012
comment
Можете объяснить, что не работает? Он вообще не нацелен на элементы или не в правильном порядке в стеке? - person MikeTedeschi; 20.12.2012