Steve Kinney

Caret and Accent Color

Tailwind 4.0 provides utilities to control caret-color (text input cursor) and accent-color (form controls like checkboxes, radio buttons) directly in your HTML.

Caret Color

caret-color styles the blinking cursor in inputs and textareas. Tailwind utilities map to this CSS property, using your theme’s colors or custom values.

Setting Caret Color with Utilities

Use caret-* utilities (e.g., caret-blue-600, caret-sky-400) to set the cursor color.

Example:

<input type="text" class="border caret-rose-500" />

This generates CSS like caret-color: var(--color-rose-500);. Utilities like caret-inherit, caret-current, and caret-transparent are also available.

Using Custom Values

For specific colors not in your theme, use arbitrary value syntax: caret-[<value>].

Example:

<input type="text" class="border caret-[#123456]" />
<input type="text" class="border caret-[var(--custom-cursor-color)]" />

Responsive Caret Color

Apply caret-* utilities conditionally at different breakpoints using responsive prefixes (e.g., md:caret-lime-600).

Example:

<input type="text" class="border caret-rose-500 md:caret-lime-600" />

Customizing the Caret Color Scale

Extend or override the default color scale in your main CSS file using the @theme directive and --color-* namespace.

@import 'tailwindcss';

@theme {
  --color-midnight: #1a1a2e;
  --color-tahiti: #3b82f6; /* Overrides blue-500 */
}

This makes caret-midnight and caret-tahiti available. These become CSS variables (e.g., --color-midnight: #1a1a2e;). To replace the default scale, use --color-*: initial; before defining custom values.

Accent Color

accent-color customizes the color of browser-generated form controls.

Setting Accent Color with Utilities

Use accent-* utilities (e.g., accent-indigo-500) derived from your theme’s color palette.

Example:

<input type="checkbox" class="accent-rose-500" />

This generates accent-color: var(--color-rose-500);. accent-inherit, accent-current, and accent-transparent are also available.

Changing Opacity

Adjust accent color opacity with /<number> (e.g., accent-blue-500/50). Browser support for accent color opacity is limited (mainly Firefox).

<input type="checkbox" class="accent-blue-500/50" />

Using Custom Values

Use arbitrary value syntax accent-[<value>] for custom accent colors.

<input type="checkbox" class="accent-[#abcdef]" />
<input type="checkbox" class="accent-[var(--brand-color)]" />

Responsive Accent Color

Apply accent-* utilities conditionally at different breakpoints (e.g., lg:accent-pink-500).

<input type="checkbox" class="accent-blue-500 lg:accent-pink-500" />

Customizing the Accent Color Scale

Customize your color scale for accent colors using @theme and the --color-* namespace in your CSS.

@import 'tailwindcss';

@theme {
  --color-primary-brand: oklch(70% 0.15 150);
}

Defining --color-primary-brand makes accent-primary-brand available. The CSS variable --color-primary-brand: oklch(70% 0.15 150); is generated. Override defaults or clear the namespace (--color-*: initial;) as needed.