problemilla con enlace imagen dentro de DIV
4 seguidores
Hola,
tengo un problemilla que no sé como arreglar, resulta que tengo un gif animado transparente dentro de un DIV que funciona como boton/enlace a una pagina determinada.
He creado una hoja de estilos con las propiedades de los enlaces y demás.
Resulta que el enlace en "hover" de la imagen me coge el background de los enlaces principales y eso que he añadido un class a la etiqueta "a" de la imagen pero no me funciona, y me sale el background de los otro enlaces y queda super chungo, ...
Estoy hecho un lio, por que he probado en poner el class dentro de la imagen, del div, yo que sé, he hecho burradas de todo tipo y ni de coña....
Bueno, a ver si alguien me puede ayudar.
gracias.
CarlosJ
bueno..,.,no se como tienes declarados los estilos exactamente...pero si has definido el estilo hover genéricamente (a:hover) es lógico que te ocurra eso.
Una posible solución para que no tengas que cambiar nada es que a la clase que hayas puesto a la etiqueta <a>, le asignes un valor hover particular, es decir algo como:
<code>a:hover.alternativo { background: transparent; }</code>
joseflorido
si tienes algo como esto:
a href="#">enlace1</a
<div>a href="#">enlace2</a</div>
osea tienes unos enlaces fuera (para los que defines la regla general del elemento a y su pseudoclase hover, a:hover) y tienes ademas un enlace dentro de una capa puedes ahorrarte incluso poner una clase a ese enlace usando selectores contextuales, seria como decir: "los enlaces que estan en el documento ponle el fondo verde al hacer hover" y añadir luego "los enlaces que estan dentro del documento y dentro de este dentro de una capa ponlos de fondo rojo al hacer hover", en verdad es sencillo:
a:hover{
background-color: Green;
}
div a:hover{
background-color: Red;
}
solo ten en cuenta que al hacerlo asi la segunda regla afectara a todos los enlaces que esten dentro de cualquier capa, esto lo puedes arreglar haciendo uso del id de esa capa, tal que asi:
#capa a:hover{
background-color: Red;
}
y asi solo le afectaria a los enlaces de esa capa en concreto.
espero que te sirva, un saludo :)
P.D: ¿como hago pa poner codigo html y que no me lo interprete?
meddle
joseflorido
P.D: ¿como hago pa poner codigo html y que no me lo interprete?
en el textarea hay un boton que pone code... :)
joseflorido
muchas gracias meddle ;)[/code]
LazyRoy
Bien, gracias por contestarme, he seguido vuestros consejos pero no me vá, al final, me quedo con la duda, lo que he hecho es coger el gif animado y ponerle fondo para que no salga el background del enlace general, y bueno, al menos parchea bien...
he puesto esto en el enlace para los div no sé si esta bien:
div a.enlace:link{
text-decoration: none;
color: #000099;
font-weight: normal;
}
div a.enlace:visited{
text-decoration: none;
color: #000099;
font-weight: normal;
}
div a.enlace:active{
text-decoration: none;
color: #000099;
font-weight: normal;
}
div a.enlace:hover{
text-decoration: none;
color: #000099;
font-weight: normal;
}
he metido el class="enlace" dentro de la etiqueta del <a> que va dentro del div, pero no me funciona segun lo arriba puesto...
¿alguna idea?
gracias
joseflorido
posiblemente no te funcione por el orden que estas usando para las pseudoclases. Prueba a ponerlas en este orden: link, active, hover, visited
p.d: si alguien tiene curiosidad en pq importa el orden: http://www.meyerweb.com/eric/css/link-specificity.html
q makina el meyer :)
CarlosJ
uummm.,.,.,en principio es lógico que te siga ocurriendo puesto que no has puesto el atributo background: transparent; (o lo que quieras) a la clase enlace, entonces te coge el background de la etiqueta <a> genérica.
<code>div a.enlace:hover{
text-decoration: none;
color: #000099;
font-weight: normal;
background: transparent; ////// añade esto
} </code>
También podrías probar a declarar directamente:
a.enlace:hover en lugar de div a.enlace:hover , ya que utilizas nombres concretos para el estilo, más que nad por si acaso se lía le navegador con algo que tengas por otro lado.