Un buon numero di sviluppatori ha chiesto quando Mozilla e Netscape 6+ abbiano pianificato di implementare il supporto per la proprietà cursor
. Spesso si stupiscono di scoprire che entrambi i browser già la supportano. Comunque, ciò che non dovrebbe sorprendere è che il supporto è basato sulle specifiche approvate dal W3C per i CSS2.
Il problema di base è questo: Internet Explorer 5.x per Windows riconosce il valore hand
, che non appare mai nella sezione 18.1 dei CSS2– ne' in altra specifica. Il valore che più si avvicina al comportamento di hand
è pointer
, che le specifiche definiscono così: "Il cursore è un puntatore che indica un collegamento". Si noti che non viene mai detto niente riguardo l'apparizione di una manina, anche se è ormai pratica convenzionale dei browser.
Sfortunatamente, IE5.x/Win non riconosce il valore pointer
. Entrambi IE6/Win and IE5.x/Mac riconoscono pointer
e hand
, fortunatamente. D'altra parte, Mozilla e Netscape 6+ seguono la specifica CSS2 e gestiscono pointer
, ignorando il valore proprietario hand
.
Se Mozilla/Netscape ignorano hand
e IE5.x/Win ignora pointer
, come deve comportarsi uno sviluppatore? E' necessario specificare entrambi.
a { cursor: pointer; cursor: hand; }
Si faccia attenzione a non invertire i due valori! Scrivendo i fogli di stile come mostrato sopra, NS6+ mostrerà il primo valore e ignorerà il secondo, così si ottiene il valore pointer
. IE5.x/Win riconosce entrambi ed userà il secondo, cioè hand
. Invertendo i due valori, Netscape 6+ continuerà a lavorare interpretare correttamente lo stile, mentre IE5.x/Win tenterà di usare il secondo, senza ottenere il risultato voluto.
Con questo semplice metodo, è possibile assicurarsi la presenza della "manina" in ogni caso.
Una avvertenza: seguendo l'approccio raccomandato, il foglio di stile non passerà una eventuale validazione, dato che contiene un valore non permesso per la proprietà cursor
. Gli sviluppatori sono quindi avvisati di prendere in considerazione questo inconveniente rispetto al vantaggio che porta la soluzione, quindi decidere cosa è più importante e procedere di conseguenza.
Testare il supporto
Vi chiedete come si comporti il vostro browser con hand
e pointer
? Provate direttamente a spostare il puntatore sulla tabella di test sotto riportata!
Questa cella ha lo stile cursor: pointer . Si dovrebbe ottenere un puntatore che cambia in una manina, su Mozilla e Netscape 6+, IE6/Win, and IE5.x/Mac, ma non in IE5.x/Win. |
Questa cella non ha uno stile cursor per cui il puntatore rimarrà quello standard. |
Questa cella ha uno stile cursor: hand . Si dovrebbe ottenere un puntatore che cambia in una manina, su IE5+/Win, ma non in Mozilla e Netscape 6+. |
Collegamenti
Original Document Information
- Author(s): Eric A. Meyer, Netscape Communications
- Last Updated Date: Published 04 Mar 2002; Revised 30 Jan 2003
- Copyright Information: Copyright © 2001-2003 Netscape. All rights reserved.
- Note: This reprinted article was originally part of the DevEdge site.