Skip to content

Cursors

This component provides a comprehensive set of utility classes for controlling cursor styles in Metro UI.

The cursors component defines CSS classes for setting the cursor appearance when hovering over elements. These utility classes make it easy to apply appropriate cursor styles to indicate the behavior of interactive elements.

All cursor utility classes use the prefix .c- followed by the cursor type name.

ClassCSS PropertyDescription
.c-autocursor: auto;Default cursor, determined by the current context
.c-defaultcursor: default;Standard arrow cursor
.c-nonecursor: none;No cursor is rendered
.c-helpcursor: help;Question mark cursor indicating help is available
.c-pointercursor: pointer;Hand cursor indicating a link or clickable element
.c-progresscursor: progress;Progress cursor indicating something is loading
.c-waitcursor: wait;Wait cursor (usually an hourglass)
.c-cellcursor: cell;Cell cursor for indicating a cell selection in a table
.c-crosshaircursor: crosshair;Crosshair cursor for precise selection
.c-textcursor: text;Text cursor (I-beam) for text selection
.c-text-verticalcursor: vertical-text;Vertical text cursor for vertical text selection
.c-aliascursor: alias;Alias/shortcut cursor
.c-copycursor: copy;Copy cursor indicating something can be copied
.c-movecursor: move;Move cursor indicating something can be moved
.c-no-dropcursor: no-drop;No-drop cursor indicating that an item cannot be dropped
.c-not-allowedcursor: not-allowed;Not-allowed cursor indicating an action is not allowed
.c-all-scrollcursor: all-scroll;All-scroll cursor indicating scrolling in any direction
.c-col-resizecursor: col-resize;Column-resize cursor for horizontal resizing
.c-row-resizecursor: row-resize;Row-resize cursor for vertical resizing
.c-n-resizecursor: n-resize;North resize cursor
.c-e-resizecursor: e-resize;East resize cursor
.c-s-resizecursor: s-resize;South resize cursor
.c-w-resizecursor: w-resize;West resize cursor
.c-ne-resizecursor: ne-resize;Northeast resize cursor
.c-nw-resizecursor: nw-resize;Northwest resize cursor
.c-se-resizecursor: se-resize;Southeast resize cursor
.c-sw-resizecursor: sw-resize;Southwest resize cursor
.c-ew-resizecursor: ew-resize;East-west resize cursor
.c-ns-resizecursor: ns-resize;North-south resize cursor
.c-nesw-resizecursor: nesw-resize;Northeast-southwest resize cursor
.c-nwse-resizecursor: nwse-resize;Northwest-southeast resize cursor
.c-zoom-incursor: zoom-in;Zoom-in cursor
.c-zoom-outcursor: zoom-out;Zoom-out cursor
.c-grabcursor: grab;Grab cursor indicating something can be grabbed
.c-grabbingcursor: grabbing;Grabbing cursor indicating something is being grabbed
<!-- Basic cursor examples -->
<div class="c-pointer">This element has a pointer cursor (hand)</div>
<div class="c-text">This element has a text cursor (I-beam)</div>
<div class="c-not-allowed">This element has a not-allowed cursor</div>
<!-- Interactive elements with appropriate cursors -->
<button class="c-pointer">Clickable Button</button>
<div class="c-move">Draggable Element</div>
<div class="c-grab">Grabbable Element</div>
<div class="c-grabbing">Element Being Grabbed</div>
<!-- Resize handles -->
<div class="c-ew-resize">Horizontal Resize Handle</div>
<div class="c-ns-resize">Vertical Resize Handle</div>
<div class="c-nwse-resize">Corner Resize Handle</div>
<!-- Loading indicator -->
<div class="c-progress">Loading...</div>
  1. Use the .c-pointer class for clickable elements that don’t already have this cursor by default (like buttons).
  2. Use the .c-text class for editable text areas that don’t already have this cursor by default.
  3. Use the .c-not-allowed class for disabled elements to indicate they cannot be interacted with.
  4. Use the resize cursors (.c-ew-resize, .c-ns-resize, etc.) for resize handles in resizable UI components.
  5. Use the .c-grab and .c-grabbing classes for draggable elements to indicate they can be moved.

These cursor styles are supported in all modern browsers, but some specific cursors might not be available in older browsers. Always test your application in your target browsers to ensure proper cursor display.