Modificare il cursore

Per modificare l'aspetto del cursore del mouse dobbiamo usare la proprietà cursor che può avere i seguenti valori:

proprietàdescrizioneprovalo! (passa il mouse sulla casella) 
autoil cursore dipende dal tipo di elemento su cui si trova 
defaultil cursore di default 
noneil cursore viene nascosto 
context-menusi usa per indicare che per quell'elemento è disponibile un menu contestuale 
helpsi usa per indicare che è disponibile un aiuto per l'elemento 
pointerindica un link 
progresssi usa per indicare che un processo è in corso ma comunque l'utente può usare la pagina 
waitsi usa per indicare che un processo è in corso e l'utente non può usare la pagina 
cellindica che una o più celle possono essere selezionate 
crosshairsi usa per indicare una selezione 
textsi usa per indicare che un testo può essere scritto o selezionato 
vertical-textindica che un testo verticale può essere selezionato 
aliasindica che è in corso la creazione di un alias o una scorciatoia 
copyindica che è in corso una operazione di copia 
moveindica che è in corso uno spostamento 
no-dropindica che l'elemento che si sta trascinando non può essere rilasciato nel punto in cui si trova il cursore 
not-allowedindica che l'operazione che si sta cercando di fare non è consentita 
grabindica che l'elemento può essere trascinato 
grabbingindica che è in corso una operazione di trascinamento 
e-resize, n-resize, ne-resize, nw-resize, s-resize, se-resize, sw-resize, w-resizeindica che un angolo dell'elemento può essere trascinato per eseguire un ridimensionamento (nell'esempio e-resize) 
ew-resize, ns-resize, nesw-resize, nwse-resizeindica un ridimensionamento bidimensionale (nell'esempio nesw-resize) 
col-resizeindica che una colonna può essere ridimensionata orizzontalmente 
row-resizeindica che una riga può essere ridimensionata verticalmente 
all-scrollindica che l'elemento può essere fatto scorrere in tutte le direzioni 
zoom-in, zoom-outindica che l'elemento può essere zoomato (nell'esempio zoom-in) 
div {
  cursor: pointer;
}

Un'immagine come cursore

E' anche possibile usare un'immagine al posto della freccina di default. L'immagine deve essere in formato .PNG, .cur, .ico o una SVG anche se non tutti i browser supportano tutti i formati. E' buona norma inserire anche un cursore alternativo nel caso in cui l'immagine non venga caricata.

Passa il mouse su questa casella e vedrai il cursore trasformarsi nella zampina di un gattino!
div {
  cursor: url('https://www.appunti-digitali.it/images/examples/zampina.png');
}
Data on support for the css3-cursors feature across the major browsers from caniuse.com