Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. CSS
  3. Reference
  4. Properties
  5. cursor

cursor

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨December 2021⁩.

* Some parts of this feature may have varying levels of support.

ThecursorCSS property sets the mouse cursor, if any, to show when the mouse pointer is over an element.

The cursor setting should inform users of the mouse operations that can be performed at the current location, including: text selection, activating help or context menus, copying content, resizing tables, and so on.You can specify either thetype of cursor using a keyword, or load a specific icon to use (with optional fallback images and mandatory keyword as a final fallback).

Try it

cursor: help;
cursor: wait;
cursor: crosshair;
cursor: not-allowed;
cursor: zoom-in;
cursor: grab;
<section>  <div>    Move over this element to see the cursor style.  </div></section>
#example-element {  display: flex;  background-color: #1766aa;  color: white;  height: 180px;  width: 360px;  justify-content: center;  align-items: center;  font-size: 14pt;  padding: 5px;}

Syntax

css
/* Keyword value */cursor: auto;cursor: pointer;/* … */cursor: zoom-out;/* URL with mandatory keyword fallback */cursor: url("hand.cur"), pointer;/* URL and coordinates, with mandatory keyword fallback */cursor:  url("cursor_1.png") 4 12,  auto;cursor:  url("cursor_2.png") 2 2,  pointer;/* URLs and fallback URLs (some with coordinates), with mandatory keyword fallback */cursor:  url("cursor_1.svg") 4 5,  url("cursor_2.svg"),  /* …, */ url("cursor_n.cur") 5 5,  progress;/* Global values */cursor: inherit;cursor: initial;cursor: revert;cursor: revert-layer;cursor: unset;

Thecursor property is specified as zero or more<url> values, separated by commas, followed by a single mandatory keyword value.Each<url> should point to an image file.The browser will try to load the first image specified, falling back to the next if it can't, and falling back to the keyword value if no images could be loaded (or if none were specified).

Each<url> may be optionally followed by a pair of space-separated numbers, which set the<x> and<y> coordinates of the cursor's hotspot relative to the top-left corner of the image.

Values

<url>Optional

Aurl() or a comma separated listurl(), url(), …, pointing to an image file.More than one<url> may be provided as fallbacks, in case some cursor image types are not supported.A non-URL fallback (one or more of the keyword values)must be at the end of the fallback list.

<x>,<y>Optional

Optional x- and y-coordinates indicating the cursor hotspot; the precise position within the cursor that is being pointed to.

The numbers are in units of image pixels.They are relative to the top left corner of the image, which corresponds to0 0, and are clamped within the boundaries of the cursor image.If these values are not specified, they may be read from the file itself, and will otherwise default to the top-left corner of the image.

keyword

A keyword valuemust be specified, indicating either the type of cursor to use, or the fallback cursor to use if all specified icons fail to load.

The available keywords are listed in the table below. Other thannone, which means no cursor, there is an image showing how the cursors used to be rendered. You can hover your mouse over the table rows to see the effect of the different cursor keyword values on your browser today.

CategoryKeywordExampleDescription
Generalauto The UA will determine the cursor to display based on the current context. E.g., equivalent totext when hovering text.
defaultwide arrow pointing up and to the leftThe platform-dependent default cursor. Typically an arrow.
noneNo cursor is rendered.
Links & statuscontext-menuwide arrow pointing up and to the left slightly obscuring a menu iconA context menu is available.
helpwide arrow pointing up and to the left next to a question markHelp information is available.
pointerright hand with an index finger pointing up The cursor is a pointer that indicates a link. Typically an image of a pointing hand.
progresswide arrow and hour glass The program is busy in the background, but the user can still interact with the interface (in contrast towait).
waithour glass The program is busy, and the user can't interact with the interface (in contrast toprogress). Sometimes an image of an hourglass or a watch.
Selectioncellwide plus symbolThe table cell or set of cells can be selected.
crosshairplus symbol composed of two thin lines.Cross cursor, often used to indicate selection in a bitmap.
textvertical i-beamThe text can be selected. Typically the shape of an I-beam.
vertical-texthorizontal i-beam The vertical text can be selected. Typically the shape of a sideways I-beam.
Drag & dropaliaswide arrow pointing up and to the left partially obscuring a smaller folder icon with a curved arrow pointing up and to the rightAn alias or shortcut is to be created.
copywide arrow pointing up and to the left partially obscuring a smaller folder icon with a plus signSomething is to be copied.
moveplus sign made of two thin lines. The four points are small arrows facing outSomething is to be moved.
no-droppointer icon and a not allowed icon An item may not be dropped at the current location.
Firefox bug 275173: On Windows and macOS,no-drop is the same asnot-allowed.
not-allowedNot allowed icon, which is a circle with a line through itThe requested action will not be carried out.
grabfully opened hand iconSomething can be grabbed (dragged to be moved).
grabbingclosed hand icon, of the back of the handSomething is being grabbed (dragged to be moved).
Resizing & scrollingall-scrollicon of a medium size dot with four triangles around it. Something can be scrolled in any direction (panned).
Firefox bug 275174: On Windows,all-scroll is the same asmove.
col-resizecol-resize.gif The item/column can be resized horizontally. Often rendered as arrows pointing left and right with a vertical bar separating them.
row-resizetwo narrow parallel horizontal lines with a small arrow pointing up and another pointing down The item/row can be resized vertically. Often rendered as arrows pointing up and down with a horizontal bar separating them.
n-resizethin long arrow pointing towards the top Some edge is to be moved. For example, these-resize cursor is used when the movement starts from thesouth-east corner of the box.
In some environments, an equivalent bidirectional resize cursor is shown. For example,n-resize ands-resize are the same asns-resize.
e-resizethin long arrow pointing towards the right
s-resizethin long arrow pointing down
w-resizethin long arrow pointing towards the left
ne-resizethin long arrow pointing top-right
nw-resizethin long arrow pointing top-left
se-resizethin long arrow pointing bottom-right
sw-resizethin long arrow pointing bottom-left
ew-resizethin long arrow pointing left and rightBidirectional resize cursor.
ns-resizethin long arrow pointing up and down
nesw-resizethin long arrow pointing both to the top-right and bottom-left
nwse-resizethin long arrow pointing both to the top-left and bottom-right
Zoomingzoom-inmagnifying glass with a plus sign

Something can be zoomed (magnified) in or out.

zoom-outmagnifying glass with a minus sign

Formal definition

Initial valueauto
Applies toall elements
Inheritedyes
Computed valueas specified, but with<url> values made absolute
Animation typediscrete

Formal syntax

cursor =
[<cursor-image> ,]*<cursor-predefined>

<cursor-image> =
[<url>|<url-set>][<number>{2}]?

<cursor-predefined> =
auto|
default|
none|
context-menu|
help|
pointer|
progress|
wait|
cell|
crosshair|
text|
vertical-text|
alias|
copy|
move|
no-drop|
not-allowed|
grab|
grabbing|
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

Usage notes

Icon size limits

While the specification does not limit thecursor image size,user agents commonly restrict them to avoid potential misuse.For example, on Firefox and Chromium cursor images are restricted to 128x128 pixels by default, but it is recommended to limit the cursor image size to 32x32 pixels. Cursor changes using images that are larger than the user-agent maximum supported size will generally just be ignored.

Supported image file formats

User agents are required by the specification to support PNG files, SVG v1.1 files in secure static mode that contain a natural size, and any other non-animated image file formats that they support for images in other properties.Desktop browsers also broadly support the.cur file format.

The specification further indicates that user agentsshould also support SVG v1.1 files in secure animated mode that contain a natural size, along with any other animated images file formats they support for images in other properties.User agentsmay support both static and animated SVG images that do not contain a natural size.

iPadOS

iPadOS supports pointer devices like trackpads and mouses. By default, the iPad cursor is displayed as a circle, and the only supported value that will change an appearance of the pointer istext.

Other notes

Cursor changes that intersect toolbar areas are commonly blocked to avoid spoofing.

Examples

Setting cursor types

css
.foo {  cursor: crosshair;}.bar {  cursor: zoom-in;}/* A fallback keyword value is required when using a URL */.baz {  cursor: url("hyper.cur"), auto;}

Specifications

Specification
CSS Basic User Interface Module Level 4
# cursor

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp