Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, é o seguinte:
Fiz um Menu em CSS aqui, que já tá todo montado. Mas queria fazer o a:hover mudar a imagem de fundo ao passar o mouse por cima. Porém, ao utilizar o mesmo, ele bota a imagem no fundo do texto. Como faço pra ele mudar o fundo cinza e deixá-lo com a minha imagem vermelha?
/applications/core/interface/imageproxy/imageproxy.php?img=http://img691.imageshack.us/img691/2006/menuahover.jpg&key=af941e4700b444edd5ac102a0331ed8bcffc4e5b19f1f8573960bc4c4462266a" alt="Imagem Postada" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://img59.imageshack.us/img59/1562/menuqq.jpg&key=4d24d26166532428de1ee2eb58a7fc88b081bedef1eb82a7c6dbf9bc6d6c35bf" alt="Imagem Postada" />
o código é esse:
MENU HTML >
<div id="menu_middle">
<div id="menu_borda_left"><a href="#">HOME</a></div>
<div class="divisor"></div>
<div class="menu"><a href="#">QUEM SOMOS</a></div>
<div class="divisor"></div>
<div class="menu"><a href="#">EVENTOS</a></div>
<div class="divisor"></div>
<div class="menu"><a href="#">CONVÊNIOS</a></div>
<div class="divisor"></div>
<div class="menu"><a href="#">LINKS</a></div>
<div class="divisor"></div>
<div id="menu_borda_right"><a href="#">CONTATO</a></div>
</div>
CSS relativo à esta parte em questão >
#menu_middle{width:681px; height:63px; float:left; background-image:url(../img/menu.middle.jpg);}
#menu_middle a:hover {background-image:url(../img/busca.top.jpg); color:#000000;}
.menu{width:auto; height:63px; float:left; margin-left:32px; margin-right:32px; border-left:32px; border-right:32px; line-height:75px;}
além do que o Eliseu citou observe que você utilizou o hover no a, sendo assim ele só irá aplicar o efeito no texto do link http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Lembre-se que a tag <a> é um elemento inline.
então as dimensões dela, são apenas oque ela contém, nesse caso apenas o texto.
Para trabalhar dessa forma, aplicando o bg no hover, em toda a area cinza, você precisa que cada <a>, ocupe 100% de altura, e 100% de largura, do elemento pai dele.
Nesse caso, estamos falando, quase que explicitamente, e elementos nivel de bloco
Faça um:
display: block ou inline-block na tag <a>, que você conseguirá mais fácil manipular as dimensões deste elemento.
Alguns exemplos de menus bem interessantes:
http://forum.imasters.com.br/index.php?/topic/354140-repente-css-menus/
Hmm... já imaginei isso, você fez o menu com DIVs. Primeiro passo pra criação de menus em CSS: utilize lista.
Bem, seguindo alguns poucos tutoriais, você já pegará a manha... http://maujor.com/tutorial/cssmenu.php
Outra coisa: percebi que você utilizou margin, border e line-height para alinhar e um divisor para separar. Procure usar padding e text-align para alinhar e border-left e border-right para fazer o divisor. O código fica mais limpo e muito mais claro.
"Tentar e errar, mas não desistir de tentar." É isso aí!
Falou!