📄 radixui/themes/docs/theme/cursors

File: cursors.md | Updated: 11/15/2025

Source: https://www.radix-ui.com/themes/docs/theme/cursors

Radix Homepage

Made by WorkOS

Radix Homepage

Made by WorkOS

ThemesThemes PrimitivesPrimitives IconsIcons ColorsColors

Documentation Playground Blog

Overview

Getting started Styling Layout Releases Resources

Theme

Overview Color Dark mode Typography Spacing Breakpoints Radius Shadows Cursors

Layout

Box Flex Grid Container Section

Typography

Text Heading Blockquote Code Em Kbd Link Quote Strong

Components

Alert Dialog Aspect Ratio Avatar Badge Button Callout Card Checkbox Checkbox Group Checkbox Cards Context Menu Data List Dialog Dropdown Menu Hover Card Icon Button Inset Popover Progress Radio Radio Group Radio Cards Scroll Area Segmented Control Select Separator Skeleton Slider Spinner Switch Table Tabs Tab Nav Text Area Text Field Tooltip

Utilities

Accessible Icon Portal Reset Slot Theme Visually Hidden

Guides

Cursors

Customizing cursors used for interactive elements.

Default cursors


By default, interactive elements that don’t link to another page use the regular arrow cursor. This also matches the browser defaults. However, disabled elements use an explicit disabled cursor.

ButtonLink Disabled

Ghost buttonLink

<Flex align="center" gap="4" wrap="wrap">
	<Flex align="center" gap="3" wrap="wrap">
		<Button>Button</Button>
		<Button asChild>
			<a href="#">Link</a>
		</Button>
		<Button disabled>Disabled</Button>
	</Flex>
	<Button variant="ghost">Ghost button</Button>
	<Link href="#" size="2">
		Link
	</Link>
	<Checkbox defaultChecked />
	<Switch defaultChecked />
	<Switch defaultChecked disabled />
</Flex>

Cursor tokens


Cursor settings can be accessed using CSS variables. You can use these tokens to style your custom components, ensuring they are accessible and consistent with the rest of your theme.

/* Available cursor tokens */
var(--cursor-button);
var(--cursor-checkbox);
var(--cursor-disabled);
var(--cursor-link);
var(--cursor-menu-item);
var(--cursor-radio);
var(--cursor-slider-thumb);
var(--cursor-slider-thumb-active);
var(--cursor-switch);

Customization


It’s common to use a pointer cursor for interactive elements. Radix Themes cursors can be customized by overriding the corresponding CSS variables of the token system.

Here’s an example of how you can customize the cursor tokens to set cursor: pointer for most interactive elements in the theme:

.radix-themes {
	--cursor-button: pointer;
	--cursor-checkbox: pointer;
	--cursor-disabled: default;
	--cursor-link: pointer;
	--cursor-menu-item: pointer;
	--cursor-radio: pointer;
	--cursor-slider-thumb: grab;
	--cursor-slider-thumb-active: grabbing;
	--cursor-switch: pointer;
}

Make sure that your CSS is applied after the Radix Themes styles so that it takes precedence.

PreviousShadows

NextBox

Edit this page on GitHub.