Rollover de imagenes con css

  • Jun
  • 09

8 comentarios! 205 palabras - 1 hits

una de las tecnicas para sustituir el texto de los enlaces por imagenes que mas suelo utilizar

Esta no es ninguna técnica novedosa, pero siempre viene bien recordar estas cosas. Para mi es uno de los métodos mas limpios y efectivos de crear un efecto “rollover” sin tener que hacer precarga de las imagenes.

A rasgos generales la idea es muy simple, para reemplazar el texto del enlace utilizamos una imagen que contenga los dos estados que vamos a decorar, el normal y el que aparece al pasar por encima el cursor (a:hover). Para conseguir el efecto mantendremos oculta una parte de la imagen utilizando las propiedades de width y height

example image

Vamos a verlo en la practica, utilizo como ejemplo una imagen con 50px de ancho por 50px de alto, al enlace le asigno una id única id="replaced", y para la hoja de estilos incluiré las siguientes reglas

  1.  
  2.     a#replaced {
  3.                 display:block;
  4.                 width:50px;
  5.                 height:25px /* aqui esta el truco */
  6.                 text-indent:-9999px;
  7.                 background:url(/images/loquesea.png) top left no-repeat;
  8.     }
  9.     a#replaced:hover {
  10.                 background-position:0 -25px;/* con esto cambiamos la porcion de imagen que se muestra */
  11.     }
  12.  

Como podéis ver es una técnica bastante sencilla y que en teoría resulta accesible por todo tipo de navegadores, ya que no estamos incluyendo la imagen dentro del html lo que posibilita que los lectores de pantalla puedan leer el texto del enlace.

ver ejemplo

1 enlace

8 comentarios

  • Jun
  • 10

# Escrito por Enrique hace 3 años, 9 meses

Tema muy hablado pero poco publicado, y sobre todo con “tanta” claridad… thx ;-)


  • Feb
  • 03

# Escrito por leticia enriquez rosello hace 3 años, 1 mes

ME ENCANTARIA SABER MAS DE ESTE TEMA MIL GRACIAS POR HABER HECHO LA PAGINA DONDE PUEDO ENCONTRAR MAS INFORMACION


  • Ago
  • 16

# Escrito por Jorge hace 2 años, 7 meses

Ya se ya se que ha pasado mucho tiempo desde este post :P Solo queria decirte que me ayudo mucho y por otro lado si te fijas antes del /* aqui esta el truco */ te falta la “;” Gracias y saludos! ;)


  • Sep
  • 11

# Escrito por Antonio hace 2 años, 6 meses

Pues macho, a mi no me sale, o yo soy muy torpe o algo no funciona.

Aunque la idea general está muy bien creo que no esta muy explicado. Tal vez vendría bien comentases que hace cada parte del código css.


  • Jun
  • 11

# Escrito por Diezko hace 1 año, 9 meses

Muy claro gracias!

Por cierto te sobra un Div de cierre en la pagina del ejemplo. Solo para molestar. :)


  • Jun
  • 30

# Escrito por josh hace 8 meses, 2 semanas

gracias!! excelente


  • Jul
  • 25

# Escrito por Anonymous hace 7 meses, 3 semanas

Gracias por el truco, lo necesitaba para la nueva versión de mi sitio. Saludos!


  • Ene
  • 28

# Escrito por Diseño Web hace 1 mes, 2 semanas

Me ha sido de gran utilidad este sistema, muchas gracias!!


Escribe tu comentario

Puedes utilizar este formulario para escribir tu opinion sobre esta entrada, no existe ningun tipo de limitacion a la hora de enviar opiniones, tan solo sigue unas reglas basicas de cortesia y todos estaremos mas contentos.

Puedes identificarte utilizando OpenID, solo tienes que introducir tu URL OpenID en el siguiente campo y pulsar el boton de validar.





Instrucciones para los comentarios

El simbolo * indica que se trata de un campo obligatorio.

Este sitio usa Markdown junto con Smartypants para educar los textos, tambien esta disponible para los comentarios.

A continuación os muestro algunas de las equivalencias:

  • [enlace de ejemplo](http://example.com/) resulta enlace de ejemplo.
  • **Texto en Negrita**
  • _Italica_
  • > blockquote
  • > > nested blockquote
  • * Esto es un elemento de una lista desordenada (ul)
  • 1. Esto es un elemento de una lista ordenada (ol)

MC Puedes seguir las respuestas a tus comentarios con MyComments.