Summary
The cursor CSS property specifies the mouse cursor displayed when the mouse pointer is over an element.
| Initial value | auto | 
|---|---|
| Applies to | all elements | 
| Inherited | yes | 
| Media | visual, interactive | 
| Computed value | as specified, but with URIs made absolute | 
| Animation type | discrete | 
| Canonical order | the unique non-ambiguous order defined by the formal grammar | 
Syntax
/* Keyword value only */ cursor: pointer; cursor: auto; /* Using URL and coordinates */ cursor: url(cursor1.png) 4 12, auto; cursor: url(cursor2.png) 2 2, pointer; /* Global values */ cursor: inherit; cursor: initial; cursor: unset;
Values
- <uri>
- A url(…)or a comma separated listurl(…), url(…), …, pointing to an image file. More than one<uri>may be provided as fallback, in case some cursor image types are not supported. A non-URL fallback (one or more of the other values) must be at the end of the fallback list. See Using URL values for the cursor property for more details.
- <x>- <y>
- Optional x- and y-coordinates. Two unit-less non-negative numbers less than 32.
- Keyword values
- 
 Move mouse over value for testing: Category CSS value Actual Description General autoThe browser determines the cursor to display based on the current context. 
 E.g. equivalent totextwhen hovering text.default Default cursor, typically an arrow. noneNo cursor is rendered. Links & status context-menu A context menu is available under the cursor. 
 Only IE 10 and up have implemented this on Windows: bug 258960.help Indicating help is available. pointer E.g. used when hovering over links, typically a hand. progress The program is busy in the background but the user can still interact with the interface (unlike for wait).wait The program is busy (sometimes an hourglass or a watch). Selection cell Indicating that cells can be selected. crosshair Cross cursor, often used to indicate selection in a bitmap. text Indicating text can be selected, typically an I-beam. vertical-text Indicating that vertical text can be selected, typically a sideways I-beam. Drag and drop alias Indicating an alias or shortcut is to be created. copy Indicating that something can be copied. move The hovered object may be moved. no-drop Cursor showing that a drop is not allowed at the current location. 
 bug 275173 on Windows and Mac OS X, "no-drop is the same as not-allowed".not-allowed Cursor showing that something cannot be done. Resize & scrolling all-scroll Cursor showing that something can be scrolled in any direction (panned). 
 bug 275174 on Windows, "all-scroll is the same as move".col-resize The item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating. row-resize The item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them. n-resize Some edge is to be moved. For example, the se-resizecursor is used when the movement starts from the south-east corner of the box.
 In some environments, an equivalent bidirectional resize cursor is shown. For example,n-resizeands-resizeare the same asns-resize.e-resize s-resize w-resize ne-resize nw-resize se-resize sw-resize ew-resize Indicates a bidirectional resize cursor. ns-resize nesw-resize nwse-resize Zoom zoom-in Indicates that something can be zoomed (magnified) in or out. zoom-out Grab grab Indicates that something can be grabbed (dragged to be moved). grabbing 
Formal syntax
[ [ <uri> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]
Examples
.foo {
  cursor: crosshair;
}
/* use prefixed-value if "zoom-in" isn't supported */
.bar {
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
} 
/* standard cursor value as fallback for url() must be provided (doesn't work without) */
.baz {
  cursor: url(hyper.cur), auto;
}
Specifications
| Specification | Status | Comment | 
|---|---|---|
| CSS Basic User Interface Module Level 3 The definition of 'cursor' in that specification. | Candidate Recommendation | Addition of several keywords and the positioning syntax for url(). | 
| CSS Level 2 (Revision 1) The definition of 'cursor' in that specification. | Recommendation | Initial definition | 
Browser compatibility
| Feature | Chrome | Firefox (Gecko) | Internet Explorer/Edge | Opera | Safari | 
|---|---|---|---|---|---|
| auto,crosshair,default,move,text,wait,help,n-resize,e-resize,s-resize,w-resize,ne-resize,nw-resize,se-resize,sw-resize | 1.0 | 1.0 | 4.0[1] | 7.0 | 1.2 | 
| pointer,progress | 1.0 | 1.0 | 6.0 | 7.0 | 1.2 | 
| url() | 1.0 | 1.5 4.0[2] | 6.0 | ? | 3.0 | 
| Positioning syntax for url()values | (Yes) | (Yes) | No support | ? | (Yes) | 
| not-allowed,no-drop,vertical-text,all-scroll,col-resize,row-resize | 1.0 | 1.5 | 6.0 
 | 10.6 | 3.0 | 
| alias,cell,copy,ew-resize,ns-resize,nesw-resize,nwse-resize | 1.0 | 1.5 | 10.0 | 10.6 | 3.0 | 
| context-menu | 1.0[3] | 1.5[3] | 10.0 | 10.6 | 3.0 | 
| none | 5.0 | 3.0 | 9.0 | 15.0 | 5.0 | 
| inherit | 1.0 | 1.0 | 8.0 | 9.0 | 1.2 | 
| zoom-in,zoom-out | 1.0 -webkit- | 1.0 -moz- 24.0 | 13 | 11.6 15-23 -webkit- 24 | 3.0 -webkit- 9 | 
| grab,grabbing | 1.0 -webkit- 22.0 -webkit-[4] | 1.5 -moz- 27.0 | 14 | (Yes) | 4.0 -webkit- | 
| Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile | 
|---|---|---|---|---|---|
| auto,crosshair,default,move,text,wait,help,n-resize,e-resize,s-resize,w-resize,ne-resize,nw-resize,se-resize,sw-resize | No support | ? | ? | ? | ? | 
| pointer,progress | No support | ? | ? | ? | ? | 
| url() | No support | ? | ? | ? | ? | 
| Positioning syntax for url()values | No support | ? | ? | ? | ? | 
| not-allowed,no-drop,vertical-text,all-scroll,col-resize,row-resize | No support | ? | ? | ? | ? | 
| alias,cell,copy,ew-resize,ns-resize,nesw-resize,nwse-resize | No support | ? | ? | ? | ? | 
| context-menu | No support | ? | ? | ? | ? | 
| none | No support | ? | ? | ? | ? | 
| inherit | No support | ? | ? | ? | ? | 
| zoom-in,zoom-out | No support | ? | ? | ? | ? | 
| grab,grabbing | No support | ? | ? | ? | ? | 
[1] In IE11, when cursor is applied to an element and this element is underneath an open <select> menu and the user hovers over a <select> menu item that's on top of said element, the cursor for said element will be displayed rather than the <select>'s normal cursor. See IE bug 963961.
[2] Support for this was added in Mac OS X.
[3] Only supported in Mac OS X and Linux.
[4] Support for this was added in Windows.
See also
Document Tags and Contributors
    
    Tags: 
    
  
                  
                    
                       Contributors to this page: 
        zmyaro, 
    
        ADTC, 
    
        Druzion, 
    
        mrstork, 
    
        yisibl, 
    
        Sebastianz, 
    
        TheJaredWilcurt, 
    
        fscholz, 
    
        xewl, 
    
        cvrebert, 
    
        Jeremie, 
    
        SphinxKnight, 
    
        thisiskatkat, 
    
        Niklas@KreativKraft, 
    
        lavish, 
    
        claudepache, 
    
        teoli, 
    
        kscarfone, 
    
        frankyan, 
    
        Jumpy, 
    
        Pacoup, 
    
        johndrinkwater, 
    
        kohei.yoshino, 
    
        Sheppy, 
    
        FredB, 
    
        parthiv, 
    
        ethertank, 
    
        coryshaw, 
    
        openjck, 
    
        Jürgen Jeka, 
    
        CutenessOverload, 
    
        brianloveswords, 
    
        pimmhogeling, 
    
        grendel, 
    
        paul.irish, 
    
        Gaspard.leon, 
    
        Waldo, 
    
        Wrongloop, 
    
        CHaoSlayeR, 
    
        Taken, 
    
        BijuGC, 
    
        Fredchat, 
    
        Mgjbot, 
    
        DBaron, 
    
        Backinblakk
    
                    
                  
                  
                    
                       Last updated by:
                      zmyaro,
                      
                    
                  
                
 
                       
               
 
			