Quiero una mano sobre mi rollover!
8 de Mayo de 2008 Autor: Andres Cayon Archivado en DW Pills, TutorialesPregunta: He añadido un comportamiento a (una imagen/un div…) y no consigo que aparezca la mano al pasar el cursor por encima.
Respuesta:antiguamente, el truco más habitual era envolver el elemento dentro de un enlace falso y aplicar al mismo el comportamiento. de esa manera conseguiámos que la mano apareciera forzada por la existencia de un enlace. sin embargo hay alguna solución más elegante
Para emular la mano se utiliza algo como (nótese el enlace falso):

Es decir, hemos creado un falso enlace y le hemos dicho a Dreamweaver que aplique el comportamiento al enlace en vez de al elemento.
Sin embargo, los navegadores modernos (y por modernos entendemos posteriores a netscape 4) soportan sin problemas adjuntar el comportamiento al elemento directamente:

El problema es que, al no existir un enlace (aunque sea falso), el cursor sigue apareciendo como el puntero de ratón normal.
La solución es utilizar CSS y tener en cuenta que incluso aquí existen diferencias entre IE y el resto.
Una búsuqeda rápida por Google nos dice que muchos sitios usan cursor:hand en sus css para mostrar la ‘mano’ que imita el enlace. Sin embargo, el valor ‘hand’ no es válido para el resto de navegadores ni forma parte del estandar: es propietario de IE. La famosa mano en CSS standar es “cursor:pointer”, que en IE se corresponde con el puntero normal (no preguntes por qué)
Por lo tanto, nuestro truco consiste en crear un css que cargue la mano independientemente del navegador:
.....
.elementoActivable{
cursor:pointer;
cursor:hand;
}
....

El orden es importante: IE será capaz de entender ambas propiedades, pero aplicará la última (en vez del puntero, la mano); el resto de navegadores ejecutarán la primera e ignorarán la segunda (cursor:hand) porque no existe.
Veamos un ejemplo (en este caso con el css definido directamente):
Y el resultado:
Que raro que microsoft haga cosas que no se adaptan a lo estandar, no ?