Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

William Bruno

Repente CSS - [Menus]

Recommended Posts

Sexto Menu:

Imagem Postada

Detalhes:
Imagem Postada



Os efeitos, vcs podem criar como acharem melhor, com CSS puro, tentem evitar Javascript(exceto deixar funcionando no IE6), a(s) imagem(s) vcs terão que pegar do meu print, organizem ela(s), e façam os recortes como acharem melhor..
só lembrando das regras que citei, e que a elegância da solução vai contar na avaliação.
Dica:
-> Tem 3 imagens mas se trata apenas de um único arquivo!
-> É "mais um" dropdown. O item "Dicas e Detonados", e o "Game" do menu, possuem submenus.
-> Não usem CSS3 !! (esse menu é uma réplica do menu do iMasters, e lá usando CSS3, então para justificar o desafio, façam os efeitos dele com imagens!


O desafio mora em justamente apartir dessas imagens que coloco, chegar no código CSS e xHTML que faça o menu funcionar com os efeitos em vários browsers.
CSS3 não funciona no IE6. E 'como sempre', vamos dar suporte à ele.

Bom, é isso ai! SE VIREM! http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif
Boa sorte à todos. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif


Menus Entregues: 0 (até o momento)


Aguardando: 0


PS: Podem ir postando, dizendo que estão fazendo.. encontrando dificuldades? ou que estão achando muito fáceis meus desafios... ^_^ (se for o caso, aumento a dificuldade ou abaixo). E podem é claro, entregar 'menus passados'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa... voltando das "férias".

 

Vou entregar os menus em ordem... portanto entregarei o 4º, 5º e só então o sexto.

 

mesmo já tendo mais noção de como farei o último do que o quinto hehehe...

até daqui a pouco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Códigos Sexto Menu

 

William Bruno

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br"> 
<head>
	<title>William Bruno - Sexto Menu</title>
<style type="text/css">
* {
	margin: 0;
	padding: 0;
	list-style: none;
}
body {
	background: url('bg-body.jpg') repeat-x;
	width: 980px;
	margin: 231px auto 0 auto;
}
#menu {
	background: #fff;
	height: 20px;
	line-height: 20px;
	border-bottom: 1px solid #cfcfcb;
	padding: 5px;
}
#menu li {
	float: left;
	position: relative;
	height: 20px;
	overflow: hidden;
}
#menu li ul {
	position: absolute;
	top: 20px;
	left: 0px;
	background: #fff;
	padding: 0 2px;
	border: 1px solid #cfcfcb;
}
/* bug IE6 com elementos de width 100% */
* html #menu li ul {
	width: 129px;
}
#menu li a {
	color: #333;
	padding: 0 10px;
	text-decoration: none;
}
#menu li:hover,
#menu li.over {
	background: url('bg-menu-li.jpg') no-repeat left top;
	overflow: visible;
}
#menu li:hover a,
#menu li.over a {
	background: url('bg-menu-li-a.jpg') no-repeat right top;
	color: #fff;
	height: 20px;
}
#menu li ul li {
	height: 22px;
	margin: 2px 0;
	border-bottom: 1px solid #f4f4f4;
}
#menu li:hover ul li a,
#menu li:hover ul li,
#menu li.over ul li a,
#menu li.over ul li {
	background: none;
	color: #333;
}
#menu li ul li:hover,
#menu li ul li.over {
	background: url('bg-menu-ul-li.jpg') no-repeat;
}
#menu li ul li:hover a,
#menu li ul li.over a {
	background: url('bg-menu-ul-li-a.jpg') no-repeat right top;
	text-decoration: underline;
	height: 22px;
}
#menu li ul li a {
	display: block;
}
#menu li ul li {
	display: block;
	width: 100%;
}
</style>
<script type="text/javascript">
window.onload = function() {
	if (document.all&&document.getElementById){
		navRoot = document.getElementById('menu');
		for (var i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=='LI')
				hoverIE( node );
		}
		var sub = navRoot.getElementsByTagName('ul');
		
		for( var i=0;i<sub.length;i++ )
		{
			for( var j=0;j<sub[i].childNodes.length;j++ )
			{
				var node = sub[i].childNodes[j];
				hoverIE( node );
			}
		}
	}
}
function hoverIE( node )
{
	node.onmouseover=function(){
		this.className+=' over';
	}
	node.onmouseout=function(){
		this.className=this.className.replace(' over', '');
	}
}
</script>
</head>
<body>
	<ul id="menu">
		<li><a href="#">Home</a></li>
		<li><a href="#">Game</a>
			<ul>
				<li><a href="#">Inimigos</a></li>		
				<li><a href="#">Truques</a></li>
			</ul>		
		</li>
		<li><a href="#">Dicas e Detonados</a>
			<ul>
				<li><a href="#">Estratégias</a></li>		
				<li><a href="#">Telas e Mapas</a></li>
				<li><a href="#">Itens Secretos</a></li>
				<li><a href="#">Outras</a></li>
			</ul>		
		</li>
		<li><a href="#">Voltar</a></li>	
	</ul><!-- /menu -->
	<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin sit amet tristique justo. 
	Aenean sit amet erat turpis, vel scelerisque mauris. Proin aliquet hendrerit augue, ut commodo 
	velit fringilla nec. Vivamus feugiat bibendum sem, tincidunt accumsan ligula pretium id. Pellentesque 
	habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin eget mauris
	magna, vel ullamcorper arcu. Sed et lectus dui. Cras est metus, sodales id lacinia eget, bibendum 
	ut neque. Aenean dapibus pharetra purus vel fringilla. Nulla aliquet, urna eget faucibus malesuada,
	ante risus sollicitudin ipsum, quis lobortis velit tortor non nisi. Mauris vitae lectus ut lacus
	semper tincidunt eu ut mauris. In id urna eget orci tincidunt imperdiet non et mauris. Vestibulum
	accumsan, nulla ac vestibulum pretium, lorem sapien adipiscing arcu, non malesuada libero enim 
	eget nisi. Vivamus placerat felis vitae tortor pellentesque ut mattis nisi sollicitudin. 
	Pellentesque eget hendrerit ligula. Sed viverra mi et turpis cursus varius. Donec venenatis
	sagittis enim eget mattis. Donec in urna sapien, vel commodo eros. Nullam ac sem ante, 
	ac pretium sem. Cras scelerisque venenatis ipsum.</p>
	
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caramba William, pensei que o código seria mais complicado... Mas ainda bem que eu tou conseguindo entender já... ^^

 

ps: Só a parte de JS que não entendo ainda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Terminei até o quinto e revisei todos os menus feitos anteriormente. O endereço dos exemplos também foi alterado (por causa do cache do meu proxy interno)

 

quem não tiver a fim de abrir os spoilers, pode consultar diretamente por aqui.

 

vamos lá

 

  Citar

1. O número de imagens utilizadas

2. Quão crossbrowser é o efeito que você criou

3. Ausência de hacks, comentários condicionais(esses contam pontos negativos, caso usados)

4. A elegância da solução*

5. Código válido pela w3c

6. Quão próximo do efeito final você chegou

 

O item 2. se aplica a todos os menus:

Os testes foram feitos no Chrome, Firefox3.6, Opera, IE8, IE7 e IE6 todos com sucesso

 

O item 4. fica a cargo do desafiante

 

O item 5. se aplica a todos os menus:

Marcação XHTML1.1 - 100% válida, sem erros ou avisos

Estilos CSS2.1 - 100% válida, sem erros ou avisos

----

 

primeiro:

  Mostrar conteúdo oculto

 

 

segundo:

  Mostrar conteúdo oculto

 

 

terceiro:

  Mostrar conteúdo oculto

 

 

quarto:

  Mostrar conteúdo oculto

 

 

quinto:

  Mostrar conteúdo oculto

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficaram todos muito bons @Evandro Oliveira !

Parabéns! :lol:

 

Eu não entendi a sua escolha por usar class nos menus, ao invés de id. Menus geralmente são únicos, ainda mais esses com esses efeitos.. ID cai como uma luva nesse caso.

 

Até agora só eu postei menus desafiadores( você achou fácil demais? )

Diz ai oque achou do Repente até agora. Se quiser sugerir algo, já vou pensando em algo pro Sétimo!

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Citar

Eu não entendi a sua escolha por usar class nos menus, ao invés de id. Menus geralmente são únicos, ainda mais esses com esses efeitos.. ID cai como uma luva nesse caso.

Estilos aplicados às #id's se sobrepõem aos aplicados às .classe's.

então eu começo modificando as classes e, caso eu precise de alguma alteração arbitrária, eu aplico um ID para que este elemento, independentemente da CSS que tenha recebido, se modifique da maneira que eu quero.

 

Seria algo como deixar a ID como uma salvaguarda caso eu precise fazer modificações de emergência.

 

Existe outro motivo também:

Eu vim da programação para a diagramação... e não o contrário como seria considerado o 'certo'. Então ID pra mim é mais um seletor de JavaScript do que um modificador de estilo. Sem contar também que é apenas uma questão de costume, não altera em nada no resultado final hehehehehe.

 

Uma curiosidade que pouca gente percebe: Você ganha alguns milisegundos (talvez segundos depenendo de quem digita) se utilizar um PONTO do que utilizar SUSTENIDO para criar a folha de estilos. Imagine que você é diagramador, só trabalha nas CSS's dos clientes e estiliza cerca de 2000 elementos por dia. Se colocarmos uma diferença de 4ms (tempo padrão do reflexo humano) são 8 segundos por dia ;). Como dizem aqui mesmo no fórum Tempo é dinheiro kkkkk

 

  Citar

Até agora só eu postei menus desafiadores( você achou fácil demais? )

Diz ai oque achou do Repente até agora. Se quiser sugerir algo, já vou pensando em algo pro Sétimo!

 

Acredito que mais desafiador seja criar coragem pra abrir a página que funciona perfeitamente no Opera para testes no IE6.

E o mais interessante é que, aplicando pouquíssimos ou até NENHUM hack, depois das correções você consegue um resultado idêntico e passa a refletir que nem toda a culpa é do IE6, às vezes os diagramadores que estilizam com 'preguiça' e não tomam certos cuidados.

 

De todos os menus propostos, o único hack (além do png) por mim utilizado foi o Whatever:hover, por comodidade. Mantém a CSS limpa. Mas seria facilmente contornado com um 'onmouseover/onmouseout' como você utiliza nas suas soluções. Isso prova que, por mais problemático que seja, o IE6 ainda é um navegador tragável. Só precisamos deixar a preguiça de lado e trabalhar com um pouco mais de capricho.

 

Quanto à dificuldade...

menus 1, 2 e 3 são facilmente compostos em, no máximo, 2 horas. Apenas o menu2 que eu tomei um susto quando fui abrir no IE kkkk. Estava utilizando display, e o mesmo não voltava para a posição 'default'. Solução, foquei a largura do elemento como 'efeito' ao invés do display

 

os menus 4 e 5 estavam de matar, até eu "descobrir a roda": Não é nenhum crime utilizar <p> dentro de <li> !!!!

depois disso o menu 4 fluiu até o fim, e o quinto apresentou um pequeno bug no IE7. bug resolvido, menus resolvidos

 

Eu gostei da qualidade dos efeitos que podem ser conseguidos aplicando estilos simples.

E sugestão pra proposta... Gostaria de ver um menu com mais de um nível de submenu (ao estilo iniciar do windows).

 

Existe um outro ponto também que gerou uma certa dificuldade:

Como já mencionei, venho da programação para a diagramação, por isso ao criar menus, tento fazê-los o mais flexíveis possível. Olhando as CSS's, verá que não declarei nenhuma height/width absoluta, o que faz com que, se o menu for gerado dinamicamente, ele seja renderizado corretamente independentemente do número de opções ou subopções que o menu apresente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desisto! kkkkkkkkk

 

A demora na entrega foi porque eu quis deixar perfeito, mas fazem uns 3 dias que estou apanhando e nada :(

 

requisitos

 

  Mostrar conteúdo oculto

 

 

html

 

  Mostrar conteúdo oculto

 

 

css

 

  Mostrar conteúdo oculto

 

 

js

 

  Mostrar conteúdo oculto

 

 

PS.: O Javascript é meramente cosmético e descartável

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sétimo Menu:


Imagem Postada

Os efeitos, vcs podem criar como acharem melhor, com CSS puro, tentem evitar Javascript, a(s) imagem(s) vcs terão que pegar do meu print, organizem ela(s), e façam os recortes como acharem melhor..
só lembrando das regras que citei, e que a elegância da solução vai contar na avaliação.
Dica:
-> O único efeito é a troca da seta e do background durante o hover
Imagem Postada


Bom, é isso ai! SE VIREM! http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif
Boa sorte à todos. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif


Menus Entregues: 2 (até o momento)

  • João Batista Neto
  • João Prado

Aguardando: 0

PS: Podem ir postando, dizendo que estão fazendo.. encontrando dificuldades? ou que estão achando muito fáceis meus desafios... ^_^ (se for o caso, aumento a dificuldade ou abaixo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, para um inimigo declarado do CSS, acho que não ficou tão ruim http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Sétimo Menu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, não sou expert em CSS mas resolvi fazer este menu para ver como me saia

 

Me preocupei em conseguir fazer, e consegui

 

Testei apenas nos navegadores: IE8, Chrome 4.1 e Firefox 3.6

Nestes esta funcinando perfeitamente

 

 

CSS validado

Donwload

 

Espero que gostem http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Talvez depois eu faça algo para todos os browser mas por enquanto deixa assim :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como preciso que os códigos fiquem no fórum, estou repostando a solução de vocês.

 

João Batista Neto

  Mostrar conteúdo oculto

 

 

 

João Prado

 

  Mostrar conteúdo oculto

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oitavo Menu:


Imagem Postada

Os efeitos, vcs podem criar como acharem melhor, com CSS puro, a(s) core(s) vcs terão que pegar do meu print, organizem ela(s), e façam os recortes como acharem melhor..
só lembrando das regras que citei, e que a elegância da solução vai contar na avaliação.
Dica:
-> É um accordion! Brincadeirinha de abre e fecha...


Bom, é isso ai! SE VIREM! http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif
Boa sorte à todos. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif


Menus Entregues: 1 (até o momento)

  • William Bruno

Aguardando: 0

PS: Podem ir postando, dizendo que estão fazendo.. encontrando dificuldades? ou que estão achando muito fáceis meus desafios... ^_^ (se for o caso, aumento a dificuldade ou abaixo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Códigos Oitavo Menu

 

William Bruno

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br"> 
<head> 
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> 
	<title>William Bruno - Oitavo Menu - Repente CSS [Menus]</title> 
<style type="text/css"> 
* {
	margin: 0;
	padding: 0;
	border: none;
	list-style: none;
}
#menu {
	width: 200px;
}
#menu a {
	border-left: 5px solid #428c8c;
	padding: 2px 0 2px 20px;
	display: block;
	color: #213636;
	font-size: 13px;
	line-height: 20px;
}
#menu li {
	background: #d5eaea;
	margin-bottom: 2px;
}
* html #menu {
	padding-top: 3px;
}
* html #menu li {
	height: 20px;
	margin-top: -4px;
}
#menu ul {
	border-top: 2px solid #fff;
	border-left: 5px solid #c1dddd;
}
#menu li li a {
	font-size: 11px;
	border: none;
	padding: 2px 0px 2px 20px;
	display: block
}
#menu li a:hover {
	background: #fff;
	cursor: pointer;
}
#menu li:hover li {
	background: #d5eaea;
}
</style> 
<script type="text/javascript"> 
function byId( el ){
	return document.getElementById( el );
};
function byTagName( el, tag ){
	return el.getElementsByTagName( tag );
};
function toggle( el ){
	el.style.display = el.style.display=='none' ? 'block' : 'none';
	el.className = el.className=='' ? 'none' : '';
};
function hideUls(){
	var uls = byTagName( byId('menu'), 'ul' );
	for( var i=0;i<uls.length;i++ )
	{
		uls[i].style.display = 'none';
	}	
};
window.onload = function()
{
	hideUls();
	var lis = byTagName( byId('menu'), 'li');
	for( var i=0;i<lis.length;i++ )
	{
		lis[i].onclick = function(){
			hideUls();//depois comenta essa linha
			toggle( byTagName( this, 'ul' )[0] );
		};
	}
};
</script> 
</head> 
<body> 
	<ul id="menu"> 
		<li><a href="#">Home</a> 
			<ul> 
				<li><a href="">Início</a></li> 
				<li><a href="">Hein?!</a></li> 
			</ul> 
		</li> 
		<li><a href="#">Game</a></li> 
		<li><a href="#">Detonados</a> 
			<ul> 
				<li><a href="">Estratégias</a></li> 
				<li><a href="">Telas</a></li> 
				<li><a href="">Itens Secretos</a></li> 
			</ul>			
		</li> 
		<li><a href="#">Inimigos</a> 
			<ul> 
				<li><a href="">Estratégias</a></li> 
				<li><a href="">Telas</a></li> 
				<li><a href="">Itens Secretos</a></li> 
			</ul>			
		</li> 
		<li><a href="#">Voltar</a></li>			
	</ul><!-- /menu --> 
</body> 
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nono Menu:


Imagem Postada

Os efeitos, vcs podem criar como acharem melhor, com CSS puro, a(s) core(s)/imagens vcs terão que pegar do meu print, organizem ela(s), e façam os recortes como acharem melhor..
só lembrando das regras que citei, e que a elegância da solução vai contar na avaliação.
Dica:
-> Os labels de cada item do submenu, aparecem embaixo do label do menu principal, antes do sub estar aberto e desaparece no hover
-> Não tem seta nos itens que não tem submenu
-> É possível fazer todo o efeito sem javascript!



Bom, é isso ai! SE VIREM! http://forum.imasters.com.br/public/style_emoticons/default/graduated.gif
Boa sorte à todos. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif


Menus Entregues: 2 (até o momento)

  • William Bruno
  • André da Silva

Aguardando: 1

  • Evandro Oliveira
PS: Esse eu realmente acho que está difícil! Quero ver boas soluções !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou postar uma qualquer coisinha no desafio em PHP e entrego os 3 menus que estou devendo ;)

 

Pode por meu nome no aguardando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Códigos Nono Menu

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br" lang="pt-br"> 
<head> 
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> 
	<title>William Bruno - Nono Menu - Repente CSS [Menus]</title> 
<style type="text/css"> 
* { margin: 0; padding: 0; list-style: none; }
body {
	font-size: 12px;
	font-family: Tahoma, Georgia, sans-serif;
	margin: 50px;
}
a { text-decoration: none; }
a:hover { text-decoration: underline; }
#menu li {
	float: left;
	height: 25px;
	line-height: 30px;
	width: 200px;
	margin-right: 10px;
	position: relative;
	text-align: center;
	color: #105330;
	font-size: 20px;
	font-weight: bold;
	background: url('seta.jpg') no-repeat 172px 18px;
	padding-top: 5px;
}
#menu span {
	position: absolute;
	font-size: 10px;
	left: 0px;
	bottom: -9px;
	width: 200px;
	text-align: center;
	display: block;
	backg round: #f0f;
	line-height: 10px;
}
#menu li:hover,
#menu li.over {
	background: url('bg-menu-li.jpg') #990100 no-repeat;
	color: #fff;
	cursor: pointer;
}
#menu li:hover a,
#menu li.over a {
	background: url('bg-menu-ul.jpg') #990100 no-repeat left bottom;
	color: #fff;
}
#menu li:hover li a,
#menu li.over li a {
	background: none;
}
#menu li:hover ul,
#menu li.over ul {
	display: block;
}
#menu li:hover li, 
#menu li.over li {
	background: none;
}
#menu li li {
	margin: 0;
}
#menu a {
	color: #105330;	
	display: block;
	background: #fff;
	padding-bottom: 5px;
}
#menu ul a {
	color: #fff;
	font-size: 16px;
	background: none;
}
#menu ul {
	display: none;
	position: absolute;
	top: 30px;
	left: 0;
	width: 200px;
	background: url('bg-menu-ul.jpg') #990100 no-repeat left bottom;
	padding-bottom: 5px;
}
#menu li li {
	background: none;
	line-height: 20px;
}
</style>
<script type="text/javascript">
window.onload = function(){
	if( document.all ){
		navRoot = document.getElementById("menu");
		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", "");
				}
			}
		}
	}
}
</script>
</head>
<body>
	<ul id="menu">
		<li><a href="">Home</a></li>
		<li>Game <span>Inimigos, Truques</span>
			<ul>
				<li><a href="">Inimigos</a></li>
				<li><a href="">Truques</a></li>
			</ul>
		</li>
		<li><a href="">Dicas</a></li>
		<li>Detonados <span>Estratégias, Telas, Itens Secretos</span>
			<ul>
				<li><a href="">Estratégias</a></li>
				<li><a href="">Telas</a></li>
				<li><a href="">Itens Secretos</a></li>
			</ul>
		</li>
	</ul><!-- /menu -->
</body>
</html>
usei apenas 3 imagens

e o js só existe para funcionar o menu no ie6

Imagem Postada

Imagem Postada

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

hehe ^^ legal cara..

 

ficou boazinha a tua solução...

mas atente ao fato de você ter sujado o HTML sem necessidade.

 

Você está desperdiçando classes de mais.. isso polui o teu código, e torna mais dificil a manutenção, pois num site grande, você vai demorar para lembrar de onde eram tantas classes.. e veja a diferença na quantidade de seletores.. eu usei bem menos que você.

 

Uma coisa, se você está trabalhando nos padrões, básico do básico, é passar pelo validador:

http://validator.w3.org/check?verbose=1&uri=http%3A%2F%2Fwww.andrewd.com.br%2Fmenu-desafio%2Fmenu.html

 

Dica, qndo estiver mais acostumado, mude para o DOCTYPE strict ^_^

 

poste a tua solução aqui no fórum, usando o bbcode [ code ]

E pode tentar fazer os outros menus anteriores se quiser.. garanto que é um bom treino/aprendizado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta aí o meu...

 

To usando imagens pra funcionar no IE7+

 

Nem fiz o javascript pro IE6 pq não tenho como testar...

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
		<title>Nono Menu</title>
		<style type="text/css">
			* {
				margin: 0;
				padding: 0;
			}
			
			body {
				font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
			}
			
			ul {
				list-style: none;
			}
			
			ul#main {
				width: 800px;
				margin: 20px auto;
			}
			
			ul#main > li {
				display: inline-block;
				vertical-align: top;
				position: relative;
				width: 195px;
			}
			
			ul#main > li.parent:hover {
				background-image: url(images/arrow.png);
				background-position: 170px 20px;
				background-repeat: no-repeat;
			}
			
			ul#main > li a {
				display: block;
				line-height: 30px;
				color: #105330;
				text-align: center;
				text-decoration: none;
			}
			
			ul#main > li > a {
				font-size: 14pt;
				padding: 5px 0;
				font-weight: bold;
			}
			
			ul#main > li:hover a {
				color: #FFF;
				
			}
			
			ul#main > li a:hover {
				text-decoration: underline;
			}
			
			ul#main > li span {
				position: absolute;
				width: 10px;
				height: 10px;
			}
			
			ul#main > li:hover {
				background-color: #990100;
			}
			
			ul#main > li:hover span {
				background-image: url(images/corners.png);
			}
			
			ul#main > li span.top_left {
				top: 0;
				left: 0;
				background-position: top left;
			}
			
			ul#main > li span.top_right {
				top: 0;
				right: 0;
				background-position: top right;
			}
			
			ul#main > li span.bottom_left {
				bottom: 0;
				left: 0;
				background-position: bottom left;
			}
			
			ul#main > li span.bottom_right {
				bottom: 0;
				right: 0;
				background-position: bottom right;
			}
			
			ul#main li ul {
				text-align: center;
				position: absolute;
				top: 25px;
				width: 100%;
				margin-bottom: 5px;
			}
			
			ul#main li ul li {
				display: inline-block;
				text-align: center;
			}
			
			ul#main li ul li a {
				font-size: 7pt;
				font-weight: bold;
			}
			
			ul#main li ul li a:hover {
				text-decoration: underline;
			}
			
			ul#main > li:hover ul {
				position: relative;
				top: 0;
			}
			
			ul#main > li:hover ul li {
				display: block;
				text-align: left;
			}
			
			ul#main > li:hover ul li a {
				font-size: 12pt;
				font-weight: normal;
			}
			
		</style>
	</head>
	<body>
		<ul id="main">
			<li><span class="top_left"></span><span class="top_right"></span><span class="bottom_left"></span><span class="bottom_right"></span><a href="">Home</a></li>
			<li class="parent"><span class="top_left"></span><span class="top_right"></span><span class="bottom_left"></span><span class="bottom_right"></span><a href="">Game</a>
				<ul class="sub">
					<li><a href="">Inimigos</a></li>
					<li><a href="">Truques</a></li>
				</ul>
			</li>
			<li><span class="top_left"></span><span class="top_right"></span><span class="bottom_left"></span><span class="bottom_right"></span><a href="">Dicas</a></li>
			<li class="parent"><span class="top_left"></span><span class="top_right"></span><span class="bottom_left"></span><span class="bottom_right"></span><a href="">Detonados</a>
				<ul class="sub">
					<li><a href="">Estratégias</a></li>
					<li><a href="">Telas</a></li>
					<li><a href="">Itens Secretos</a></li>
				</ul>
			</li>
		</ul>
	</body>
</html>

Print:

Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.