..:: MX Studio Fóruns ::..: Menu Drop-down Só Com Css - Até 4 Níveis - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Menu Drop-down Só Com Css - Até 4 Níveis Código pronto - só copiar, colar e usar

#1 User is offline   Micox 

  • Group: Membros
  • Posts: 100
  • Joined: 14-January 04

Posted 11 March 2008 - 05:35 PM

Ultimate Micox Menu drop-down CSS - até 4 níveis
Fonte: http://elmicox.blogspot.com/2008/03/ultima...n-css-at-4.html

HOoooaa. E ae malucada.

Há um tempo eu venho brigando em busca do código de menu css drop-down perfeito.
Eu queria um menu dropdown css pra copiar e colar, simples, rápido, sem precisar de configurações.
Apenas copiar/colar no meu CSS, definir cor e largura dos itens, usar a classe no html e pronto. E tudo funcionando nos navegadores mais usados (FF, IE6/7, OP).

Ontem eu postei a peça que faltava (ativar hover no IE6 via css).
Veja o exemplo online (e o código fonte) do Ultimate Micox Menu Drop Down CSS até 4 níveis.

Bem, vamos aos códigos:
Primeiro é só fazer seu velho menu usando UL e LI.

CÓDIGO
<ul>
<li>class='menu-hv'</li>
<li><a href='#'>2</a></li>
<li><a href='#'>3...</a>
  <ul style='background-color: red; '>
   <li>31</li>
   <li><a href='#'>32</a></li>
   <li>33</li>
  </ul>
</li>
<li><a href='#'>4...</a>
  <ul>
   <li>41</li>
   <li><a href='#'>42</a></li>
   <li><a href='#'>43...</a>
    <ul  style='background-color: blue'>
     <li>431</li>
     <li><a href='#'>432...</a>
      <ul  style='background-color: gray'>
       <li>4321</li>
       <li><a href='#'>4322</a></li>
      </ul>
     </li>
    </ul>
   </li>
   <li>44</li>
  </ul>
</li>
</ul>


Depois você coloca a classe menu-hv no UL (ou no div pai de UL) para ativar o menu horizontal com submenus verticais. Para o menu vertical vertical (em pé) a classe é menu-vv.

CÓDIGO
<ul class='menu-hv'>


Por último é só colocar o código do Ultimate Micox Menu drop-down CSS (UMMDDCSS huahe) no seu arquivo CSS ou em um arquivo CSS separado. O local onde você pode alterar a cor, largura, etc dos itens do menu está indicado no código. Não mexa no resto pra não correr o risco de estragar.

CÓDIGO
/*
  Menus drop-down horizontal-vertical (hv) e vertical-vertical (vv) até 4 níveis
  by Micox - elmicox.blogspot.com - Ver. 2.0 - 20/02/08 - Creative Commons License
*/    
.menu-hv, .menu-vv { position: relative; margin: 0; padding: 0; display: block; zoom: 1;}
.menu-hv * ,    .menu-vv * { margin: 0; padding: 0; list-style: none}
.menu-hv li ,   .menu-vv li { position: relative; line-height: 1.2em; vertical-align: top }
.menu-hv a ,    .menu-vv a { display: block; zoom: 1; line-height: 1.2em }
.menu-hv li ul, .menu-vv li ul { position: absolute; visibility: hidden  }
.menu-hv li:hover ul,  .menu-vv li:hover ul,
.menu-hv li.hover ul,  .menu-vv li.hover ul { visibility: visible }
.menu-hv li:hover ul ul,  .menu-vv li:hover ul ul,
.menu-hv li.hover ul ul,  .menu-vv li.hover ul ul { visibility: hidden }
.menu-hv li li:hover ul,  .menu-vv li li:hover ul,
.menu-hv li li.hover ul,  .menu-vv li li.hover ul { visibility: visible }
.menu-hv li li:hover ul ul,  .menu-vv li li:hover ul ul,
.menu-hv li li.hover ul ul,  .menu-vv li li.hover ul ul { visibility: hidden }
.menu-hv li li li:hover ul,  .menu-vv li li li:hover ul,
.menu-hv li li li.hover ul,  .menu-vv li li li.hover ul { visibility: visible }
/* características horizontal-vertical */
.menu-hv:after, .menu-hv.after { content: "."; line-height: 0px; clear: both; display: block; visibility: hidden}
.menu-hv li { float: left; }  
.menu-hv li ul li { float: none; }
.menu-hv li ul li ul { position: absolute; left: 100%; top: 0; }
/* características vertical-vertical */
.menu-vv { float: left; }
.menu-vv li ul { left: 100%; top: 0; }
/* ****************************************
   ALTERE ABAIXO. defina a largura, cor, formatações, etc, dos itens do seu menu abaixo
   ou apague as linhas se for definir em outro lugar
*/
.menu-hv li { width: 100px; background-color: yellow }
.menu-vv li { width: 100px; background-color: yellow }
.menu-hv li a:hover { background-color: cyan }
.menu-vv li a:hover { background-color: cyan }


/* Micox Pseudo-class-css2 to IE (MXPC). Activate .hover and .first-child in IE 6
   http://elmicox.blogspot.com/2008/03/ativando-hover-e-first-child-no-ie-6-um.html */
* html * { color: expression( (function(who){ if(!who.MXPC){
who.MXPC = '1';
if(who.nodeName != 'A'){
  who.onmouseenter=function(){ who.className += ' hover'};
  who.onmouseleave=function(){ who.className = who.className.replace(' hover','')}; }
(who==who.parentNode.firstChild) ? who.className += ' first-child' : '';
} } )(this) , 'auto') }


Pronto! Agora ficou fácil fazer um menu drop down CSS. É só copiar e colar isso aí no código. Não precisa pegar javascript externo, não precisa quebrar cabeça com floats ou displays. É só colocar isto no seu documento e fazer seu menu ul-li.

Os espertos devem ter percebido que dá pra aumentar a quantidade de níveis facilmente adicionando novos níveis onde começa os visibility: hidden né? heheh

Bom, é isso aí.
0

#2 User is offline   JonatasCD 

  • Group: Membros
  • Posts: 1
  • Joined: 17-March 08

Posted 17 March 2008 - 08:15 PM

Show!

Funcional mesmo.

Estava tentano dois (1 | 2) outros exemplos (non-brazucas) e tava bugando no IE (novidade, ne), mas esse foi!

thumbup.gif

PS: um comentário é que, como meu interesse era apenas por menu Vertical-Vertical exclui do CSS as referência ao 'hv' e mantive apenas as relativas ao 'vv'
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)