cursor property CSS Reference



Definition and Usage

The cursor CSS property specifies the mouse cursor displayed when the mouse pointer is over an element.

  • Initial auto
  • Applies to all elements
  • Inherited yes
  • Media visual, interactive
  • Computed Value as specified, but with relative URI converted into absolute URI
  • Animatable no
  • Canonical order the unique non-ambiguous order defined by the formal grammar

Syntax

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 ] ]

Values

<uri>
A url(…) or a comma separated list url(…), 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 ore more of the other values) must be at the end of the fallback list.
<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 Description
General auto The browser determines the cursor to display based on the current context.
E.g. equivalent to text when hovering text.
default Default cursor, typically an arrow.
none No 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.
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-resize cursor is used when the movement starts from the south-east corner of the box.
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

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 }

Compatibility

Feature Chrome (WebKit) Firefox (Gecko) Internet Explorer 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 (1.0) 4.0 7.0 1.2
pointer, progress 1.0 1.0 (1.0 | 1.7) 6.0 7.x 1.2 | 3.0
url() 1.0 (523) 1.5 (1.8);
OS X: 4.0 (2.0)
6.0 NA 3.0
Positioning syntax for url() values (Yes) (Yes) Not supported NA (Yes)
not-allowed, no-drop, vertical-text, all-scroll,
col-resize, row-resize
1.0 (522) 1.5 (1.8) 6.0 10.6 3.0
alias, cell, copy,
ew-resize, ns-resize, nesw-resize, nwse-resize
1.0 (522) 1.5 (1.8) 10.0 10.6 3.0
context-menu OS X, Linux: 1.0 (522) OS X, Linux: 1.5 (1.8) 10.0 10.6 3.0
none 5.0 (533) 3.0 (1.9) 9.0 NA 5.0
inherit 1.0 1.0 8.0 9.0 1.2
zoom-in, zoom-out 1.0 (522) -webkit- 1.0 (1.4) -moz-
24.0
NA 11.6 3.0 -webkit-
grab, grabbing 1.0; Windows: 22.0 -webkit- 1.5 (1.8) -moz-
27.0
Not supported NA 4.0 -webkit-

Relative articles