Resolvi fazer um post sobre CSS que está em falha nesse blog
Qualquer um que tenha projetado um menu drop-down estará familiarizado com a grande quantidade de scripts necessários para fazer funcionar estes tipos de menus. Mas, usando-se uma marcação HTML estruturada e regras CSS simples é possível criar menus drop-down de raro apelo visual, fáceis de editar e atualizar e que funcionem perfeitamente em váriados tipos de browsers, inclusive no Internet Explorer. Melhor ainda, para designers zelosos de seus códigos, nenhum JavaScript é necessário! (Na verdade, um 'pouquinho' de JavaScript é necessário, mas nada tão complicado, como você deve estar imaginando.)
Confiram ele funcionando aqui
Criaremos aqui uma lista ordenada em HTML, vocês vão entender o porque, nós temos listas ordenadas dentro de listas ordenadas na estrutura de um marcador, isso facilita o processo inclusive da adição de links até mesmo via uma linguagem dinamica como PHP por exemplo.
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a>
<ul>
<li><a href="#">History</a></li>
<li><a href="#">Team</a></li>
<li><a href="#">Offices</a></li>
</ul>
</li>
<li><a href="#">Services</a>
<ul>
<li><a href="#">Web Design</a></li>
<li><a href="#">Internet
Marketing</a></li>
<li><a href="#">Hosting</a></li>
<li><a href="#">Domain Names</a></li>
<li><a href="#">Broadband</a></li>
</ul>
</li>
<li><a href="#">Contact Us</a>
<ul>
<li><a href="#">United Kingdom</a></li>
<li><a href="#">France</a></li>
<li><a href="#">USA</a></li>
<li><a href="#">Australia</a></li>
</ul>
</li>
</ul>
Ok galera ai esta nosso menu, porém se você abrir esse HTML criado verá apenas uma lista de marcadores como num índice, mas para transforma-lo e dar uma carinha melhor iremos agora para o CSS
ul {
margin: 0;
padding: 0;
list-style: none;
width: 150px;
}
Como iremos posicionar submenus em absoluto ao menu principal, teremos que defini-lo como relativo
ul li { position: relative; }
Definimos o posicionamento dos submenus
li ul {
position: absolute;
left: 149px;
top: 0;
display: none;
}
Agora começa a estrutura visual, colocarei num passo só, qualquer dúvida comentem que eu respondo
ul li a {
display: block;
text-decoration: none;
color: #777;
background: #fff;
padding: 5px;
border: 1px solid #ccc;
border-bottom: 0;
}
/* Fix IE. Hide from IE Mac \*/ * html ul li { float: left; } * html ul li a { height: 1%; } /* End */
ul { margin: 0; padding: 0; list-style: none; width: 150px; border-bottom: 1px solid #ccc; }
Aquela parte um pouco complicada trata-se de um hack para compatibilidade total com o Internet Explorer, infelizmente nós Web Designers sempre acabamos batendo em algum problema nele.
Agora o Pulo, onde irão aparecer os submenus
li:hover ul { display: block; }
Vejam aqui funcionando
UAU galera funciona mesmo hein. rsrs
Funcionaria se o maldito internet explorer não resolve-se atrapalhar.
Beleza, teremos que colocar um pouco de JavaScript para resolver o problema
startList = function() { if (document.all&&document.getElementById) { navRoot = document.getElementById("nav"); for (i=0; i<navRoot.childNodes.length; i++) { node = navRoot.childNodes[i]; if (node.nodeName=="LI") { node.onmouseover=function() { this.className+=" over"; } node.onmouseout=function() { this.className=this.className.replace (" over", ""); } } } } } window.onload=startList;
A regra para o Over agora é
li:hover ul, li.over ul {
display: block; }
e referenciamos o JavaScript no UL da seguinte forma
<ul id="nav">
Lindo, Lindo e Lindo.
RSRSRS
Pronto, agradeço a atenção de todos e amanhã tem mais.
Nenhum comentário:
Postar um comentário