2013-08-23 4 views
2

Я хочу построить андроид как основную навигацию, которая вписывается в Сьюзи-решетку. Это выглядит следующим образом:Горизонтальный список с сеткой Сьюзи

enter image description here

Код идет здесь:

HTML:

<div class="container"> 
    <nav> 
     <ul class="horizontal-list"> 
      <li> 
       <a href="#">One</a> 
      </li> 
      <li> 
       <a href="#">Two</a> 
      </li> 
      <li> 
       <a href="#">Three</a> 
      </li> 
      <li> 
       <a href="#">Four</a> 
      </li> 
     </ul> 
    </nav> 
</div> 

SASS:

header.main { 
    height: $headerHeight; 
    background: url('images/headerBackground.gif'); 

    .container { 
     @include container; 
     @include susy-grid-background; 

     nav { 
      @include span-columns(8); 

      ul.horizontal-list { 
       @include horizontal-list; 
       overflow: visible; 

       li { 
        @include isolate-grid(2, 8); 

        padding: 0; 
        display: table; 
        a { 
         // vertical alignment 
         display: table-cell; 
         height: $headerHeight/2; 
         padding-bottom: 2px; 
         vertical-align: bottom; 

         // appearance 
         color: $greyLight; 
         font-size: 18px; 
         text: { 
          transform: uppercase; 
          decoration: none; 
         } 

         // hover 
         position: relative; 
         &:before { 
          content: ''; 
          display: block; 
          width: $headerUnderlineGap; 
          background: $black; 
          height: $headerHeight; 
          position: absolute; 
          top: 0; 
          margin-left: -$headerUnderlineGap + 1; 
         } 

         &:hover { 
          color: $white; 

          &:after { 
           content: ''; 
           display: block; 
           background: $cyanLight; 
           width: 114%; // TODO check why space(2, 8) does not work 
           height: 4px; 
           position: absolute; 
           margin: -1px 0 0 1px; 
          } 
         } 
        } 
       } 
      } 
     } 
    } 
} 

Я чувствую, что это немного Hacky, чтобы установить ширина элемента &:after до 114%, а не space(2, 8). Может ли кто-нибудь сказать мне, как настроить горизонтальную навигацию с сеткой Сьюзи и непрерывную подчеркивание, которая навевает весь путь до следующего элемента li.

Заранее благодарен!

ответ

2

space(2,8) не работает в этом случае, потому что 8 на самом деле не является контекстом: 2 есть. Вам просто нужно space(2,2).

+0

Эй, Эрик! Большое вам спасибо, он отлично работает! Половина дня я думал об этом. Не могли бы вы рассказать мне, как получается, что 2 - это реальный контекст. Это потому, что каждый элемент 'li' имеет 2 столбца? Еще раз спасибо! Bye, Niels ps: жаль, что я не могу голосовать за вас, так как мне нужно как минимум 15 репутаций ...:/ – nielsG

+0

Да, контекст всегда тот же самый диапазон, который вы получите от элемента уровня блока в том же месте. Если вы когда-нибудь захотите найти свой контекст для элемента, просто установите 'display: block;' и посмотрите, что он делает. В этом случае ваш элемент ': before' находится внутри' li', который охватывает '2', поэтому контекст равен' 2'. –

Смежные вопросы