Skip to content
0

Interactivity ​

Control how users interact with elements: pointer events, resizing, text selection, scroll behavior, and native element appearance.

Pointer Events ​

ClassProperties
.pointer-events-nonepointer-events: none
.pointer-events-autopointer-events: auto
html
<!-- Disable click/hover on an element -->
<div class="pointer-events-none">Cannot be clicked</div>

<!-- Re-enable pointer events on a child -->
<div class="pointer-events-none">
  <button class="pointer-events-auto">Click me</button>
</div>

Resize ​

ClassProperties
.resize-noneresize: none
.resizeresize: both
.resize-xresize: horizontal
.resize-yresize: vertical
html
<!-- Vertically resizable textarea -->
<textarea class="resize-y">Type here...</textarea>

<!-- Disable resizing -->
<textarea class="resize-none">Fixed size</textarea>

User Select ​

ClassProperties
.select-noneuser-select: none
.select-textuser-select: text
.select-alluser-select: all
.select-autouser-select: auto
html
<!-- Prevent text selection -->
<p class="select-none">This text cannot be selected</p>

<!-- Select all text on click -->
<code class="select-all">Click to select all</code>

Scroll Behavior ​

ClassProperties
.scroll-autoscroll-behavior: auto
.scroll-smoothscroll-behavior: smooth
html
<!-- Smooth scrolling for anchor links -->
<html class="scroll-smooth">
  ...
  <a href="#section">Jump to section</a>
  ...
  <section id="section">...</section>
</html>

Appearance ​

ClassProperties
.appearance-noneappearance: none
.appearance-autoappearance: auto
html
<!-- Remove native styling from a select -->
<select class="appearance-none bg-white border rounded px-4 py-2">
  <option>Option 1</option>
</select>

SCSS Source ​

scss
// From _utilities.scss
$pointer-events-list: (none, auto) !default;
$resize-list: (none, both, x, y) !default;
$user-select-list: (none, text, all, auto) !default;
$scroll-behavior-list: (auto, smooth) !default;
$appearance-list: (none, auto) !default;

Released under the MIT License.