2011-02-08 4 views
0

Привет, я хочу создать новый тип раскрывающегося списка навигации (новый, как я еще не видел).Novel CSS dropdown/Megamenu

В основном, когда я наводил курсор на элемент навигации, выпадающее окно должно появляться под навигацией. Разница с нормальным выпадающим списком заключается в том, что я хочу, чтобы в этом раскрывающемся списке содержались все элементы навигации navs (а не только элементы, принадлежащие зависающему элементу). Поэтому в моем примере кода, если бы навести курсор на Nav 1, тогда появятся все элементы a-i.

<ul> 
      <li><a href="#">Nav 1</a> 
       <ul> 
        <li><a href="#">item a</a></li> 
        <li><a href="#">item b</a></li> 
        <li><a href="#">item c</a></li> 
       </ul> 
      </li> 
      <li><a href="#">Nav 2</a> 
       <ul> 
        <li><a href="#">item d</a></li> 
        <li><a href="#">item e</a></li> 
        <li><a href="#">item f</a></li> 
       </ul> 
      </li> 
      <li><a href="#">Nav 3</a> 
       <ul> 
        <li><a href="#">item g</a></li> 
        <li><a href="#">item h</a></li> 
        <li><a href="#">item i</a></li> 
       </ul>     
      </li> 
     </ul> 

Примечание: Раскрывающийся должна быть такой же ширины, как нав и ссылки каждого Nav элемента должен появиться под ним. I've attached a sketch!

Я подумал о том, чтобы поместить div, содержащий выпадающий список в UL, и показать его на ul.hover, но затем это не будет проверяться, и вы не сможете настроить таргетинг на то, что было зависеть.

Возможно, это будет невозможно, используя только css, если кто-то может сообщить мне, что это было бы здорово.

Извините, если это кажется бессвязным ... надеюсь, кто-то поймет, что мне нужно!

+1

Возможно, вы еще не видели это раньше, как это немного громоздкой UI ... Каково требование иметь это как это? – Paddy

+1

Почему вы хотите сделать что-то подобное? – naveen

+1

Я понимаю, чего вы хотите. Вы правы, что «это может быть невозможно достичь, используя только css» - для этого потребуется javascript (если вы не хотите дублировать * все * выпадающие списки для каждой кнопки ...). Я согласен с @Paddy, это сбивает с толку - зачем беспокоиться о наличии отдельных кнопок, если каждый из них делает одно и то же? Надеюсь, вы хотите сделать что-то немного отличное от текущего падения. (различный цвет фона или прозрачность?) – thirtydot

ответ

0

Таким образом, нависание над любой частью навигации показывает все подуровни?

Вот базовая функциональность jsfiddle; вам тогда нужно стилизовать его с помощью CSS.

например

http://www.alistapart.com/articles/hybrid/

http://htmldog.com/articles/suckerfish/dropdowns/

(есть сотни примеров на Google)

+0

Ваше решение css - это то, что я хочу, оно красиво и не может поверить, что я не думал об этом ... Я добавил еще одну строку css, чтобы выделить подпункты зависающего списка. http://jsfiddle.net/MwB9e/5/ –

+0

@Usheen: Я рекомендую вам вместо этого изменить «margin-left: 10px' вместо« padding ». Таким образом, вы можете перемещаться по спискам, отличным от тех, что указаны ниже ссылки, над которой вы зависали. [С margin = проблема] (http://jsfiddle.net/MwB9e/7/). [С дополнением = лучше] (http://jsfiddle.net/MwB9e/6/). Кроме того, я сомневаюсь, что вам все равно, но это не будет работать в IE6 без каких-либо дополнительных дополнений. – thirtydot

+0

Хороший звонок на прокладку. ie6 может только нависнуть на якоре, это проблема, которую я предполагаю. Обычно я включаю ie7.js на все мои страницы, чтобы это разрешило. http://code.google.com/p/ie7-js/ –

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