CSS no permite modificar los elementos propios del navegador o de la interfaz de usuario del sistema operativo. Sin embargo, el puntero del ratón es una excepción muy importante, ya que se puede modificar mediante la propiedad cursor
.
Propiedad | cursor |
---|---|
Valores | ( (url ,)* ( auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | text | wait | help | progress ) ) | inherit |
Se aplica a | Todos los elementos |
Valor inicial | auto |
Descripción | Permite personalizar el puntero del ratón |
La propiedad cursor
no sólo permite seleccionar un puntero entre los disponibles en el sistema operativo (flecha, mano, reloj de arena, redimensionar, etc.) sino que incluso permite indicar la URL de una imagen que se quiere mostrar como puntero personalizado.
Se pueden indicar varias URL para que CSS intente cargar varias imágenes: si la primera imagen del puntero no se carga o no la soporta el navegador, se pasa a la siguiente imagen y así sucesivamente hasta que se pueda cargar alguna imagen.
El siguiente ejemplo muestra el caso de un puntero definido con varias URL y un valor estándar:
:link, :visited { cursor: url(puntero.svg), url(puntero.cur), pointer }
Si el navegador soporta las imágenes en formato SVG, el puntero del ratón cambia su aspecto por la imagen puntero.svg
. Si el navegador no soporta el formato SVG, intenta cargar la siguiente URL que define un puntero en formato .cur
. Si no se puede cargar correctamente, se mostraría el valor preestablecido pointer
.
Los valores preestablecidos para el puntero se muestran a continuación:
Puntero | Navegadores que lo soportan |
---|---|
cursor: default |
Todos |
cursor: crosshair |
Todos |
cursor: hand |
Solo Internet Explorer |
cursor: pointer |
Todos salvo Internet Explorer |
cursor:pointer; cursor: hand |
Todos |
cursor: move |
Todos |
cursor: text |
Todos |
cursor: wait |
Todos |
cursor: help |
Todos |
cursor: n-resize |
Todos |
cursor: ne-resize |
Todos |
cursor: e-resize |
Todos |
cursor: se-resize |
Todos |
cursor: s-resize |
Todos |
cursor: sw-resize |
Todos |
cursor: w-resize |
Todos |
cursor: nw-resize |
Todos |
cursor: progress |
Solo Internet Explorer |
cursor: not-allowed |
Solo Internet Explorer |
cursor: no-drop |
Solo Internet Explorer |
cursor: vertical-text |
Solo Internet Explorer |
cursor: all-scroll |
Solo Internet Explorer |
cursor: col-resize |
Solo Internet Explorer |
cursor: row-resize |
Solo Internet Explorer |
cursor: url(...) |
Solo Internet Explorer |
El puntero personalizado más utilizado es la opción cursor: pointer
y cursor: hand
que muestra en el puntero una mano que puede pinchar sobre el elemento. Otro puntero muy utilizado es cursor: move
que permite indicar en las aplicaciones web dinámicas los elementos de la página que se pueden mover.
Se puede ver un ejemplo de cada uno de los punteros y la compatibilidad con los diferentes navegadores en la siguiente página: http://www.echoecho.com/csscursors.htm