🚀 LEVEL UP TO SENIOR:Unlock 500+ Advanced Practical Challenges & Expert Masterclasses.
🎓 COURSERA PARTNER:Earn professional Google, Meta, and IBM certificates to supercharge your resume.
REFERENCEcss

css Documentation

LOADING ENGINE...

CSS Cursor Property

Control user interaction feedback. Learn to use standard cursors and create custom ones.

cursor.css
/* Interactive Element */
.button {
cursor: pointer;
}
/* Disabled Element */
.disabled {
cursor: not-allowed;
}
👆
cursor.css
1 / 9
👆

Tutor:The CSS `cursor` property controls the mouse cursor appearance when pointing over an element. The default is usually an arrow.


Cursor Mastery

Unlock nodes by learning cursor types and interactions.

Concept 1: The Cursor Property

The cursor property specifies the mouse cursor to be displayed when pointing over an element. The most common interactive value is pointer, which transforms the cursor into a hand.

System Check

Which cursor value should be used for clickable buttons?


Community Holo-Net

Share Custom Cursors

Created a cool 32x32 PNG cursor? Share your asset and CSS code.

Enjoying this guide?

Codesyllabus is 100% free and open-source. Support our mission, pay for server infrastructure, and fuel new tutorials by buying us a coffee!

CSS Cursor Property

Author

Pascual Vila

Frontend Instructor.

The cursor property in CSS specifies the mouse cursor to be displayed when pointing over an element. It is a vital part of User Experience (UX), providing immediate visual feedback about what interaction is possible.

Common Cursor Types

The most frequently used values include:

  • default: The standard arrow.
  • pointer: A pointing hand, used for links and buttons.
  • text: The I-beam, used for selectable text.
  • move: Indicates an element can be moved.
  • not-allowed: A circle with a slash, indicating an action is prohibited.

Custom Cursors

You can define your own cursors using the url() function. It allows you to load an image to be used as the cursor.

cursor: url('custom.png'), auto;

Important: You must always specify a fallback keyword (like auto) at the end of the list, otherwise the custom cursor will be ignored.

Best Practices

Don't remove the pointer cursor from links or buttons, as users rely on it to know what is clickable. Conversely, don't put pointer on non-interactive elements, as it confuses users. Use wait or progress for loading states to prevent user frustration.

Cursor Glossary

pointer
The cursor indicates a link or interactive element. Typically rendered as a hand with an extended index finger.
wait
Indicates that the program is busy and the user cannot interact with the interface (e.g., hourglass or watch).
grab / grabbing
grab indicates something can be grabbed (open hand). grabbing indicates something is currently being grabbed (closed fist).
not-allowed
Indicates that the requested action will not be carried out. Often used on disabled buttons.
zoom-in / zoom-out
Indicates that something can be zoomed in or out.