Interactivity

Tailwind CSS select-none Class

The select-none utility class generates the following CSS when applied to an element.

CSS Output

CSS
.select-none {
  user-select: none;
}

Variants

Use these variant prefixes to apply select-none conditionally:

responsive:select-none

Use It

HTML
<button class="select-none px-4 py-2 bg-blue-500 text-white rounded">
  Can't select this text
</button>

Understanding select-none

The Tailwind CSS select-none utility applies user-select: none; to an element when added to its class attribute. It prevents the user from selecting text within the element. Used for UI chrome like buttons, navigation, and interactive elements where text selection is undesirable.

This utility is part of Tailwind's Interactivity module, designed for controlling user interaction behaviors such as cursors, text selection, resizing, and scrolling. In Tailwind's utility-first workflow, you add select-none directly to your HTML elements rather than writing custom CSS. This approach accelerates development and keeps styles co-located with your markup, making it easy to see exactly how each element is styled at a glance.

Common responsive variants include sm:select-none, md:select-none, lg:select-none, and xl:select-none, allowing different behavior at each breakpoint. State variants like hover:select-none and focus:select-none enable interactive styling without any JavaScript. You can also combine multiple variants for fine-grained control over when the utility applies.

This class works well alongside `select-text`, `select-all`, `select-auto`, `cursor-pointer` to build complete, production-ready interfaces. Tailwind's tree-shaking ensures only utilities you actually use appear in your final CSS bundle, keeping file sizes minimal. Browser support for the underlying CSS is excellent across Chrome, Firefox, Safari, and Edge.

Related Classes

Explore More Tailwind Classes

Browse our complete reference of 321 Tailwind CSS utility classes with CSS output, variants, and examples.