How do I disable the resizable property of a textarea?
Published
13 Dec 2022
Textarea resizing is a helpful UX feature when users are looking to post significant-sized content. As a general rule, you should allow resizing unless there is a specific reason or need to do so to accommodate your design.
When an element is resizeable, it has a little UI handle on a lower corner. The handle appears on the right on page elements when the page’s direction is set to ltr (left-to-right), and on the left on rtl (right-to-left) pages.
The CSS3 resize property controls if and how the user can resize an element by clicking and dragging the bottom right corner (on left-to-right page direction) of the element.

textarea resize handle
There are four allowable values for the resize property that are pretty self-explanatory:
none: the textarea is not resizeable.both: The user can resize both the textarea height and width.vertical: The user can resize the textarea height.horizontal: The user can resize the textarea width.
.defaultResizing { resize:both; }.noResizing { resize:none; }.verticalOnlyResizing { resize:vertical; }.horizontalOnlyResizing { resize:horizontal; }example resizing restriction classes
Instead of completely disabling resizing, it's often better practice to constrain the amount of resizing a user can do with the max-height, max-width, min-height, and min-width CSS properties.
.mixMaxVerticalResize { resize:vertical; min-height:100px; max-height:500px;}constrain rezize to within a min and max height.
Similar articles

AI-First Programming Languages: What They Are, and Whether You Should Use One Yet
In the last year a genuinely new category of programming language appeared: ones where the AI, not you, is the intended author. Here's what the categories are, which projects actually have traction, and which of them I'd be willing to put in production today.
9 Aug 2026

lucide-animated: Icon Motion That Knows When to Stop
lucide-animated wraps the entire lucide-react set in small, Motion-powered animations, same names, same currentColor stroke, one extra letter in the import. I wired it into a few real spots on this site and worked out where it earns its place and where it's just noise.
2 Aug 2026

Animated Gradient Borders: A Better Loading State for AI Interfaces
Spinners and skeleton screens assume a request either hasn't returned yet or has. AI responses don't work that way, they stream in over seconds while you're already reading them. A rotating gradient border solves the "still working" signal without covering up content the user is actively looking at.
31 July 2026

Pathfinding Algorithms Explained
A live stealth pathfinding demo, and the three buckets every algorithm in the dropdown falls into: Naive, Uninformed, and Informed. Deep dives live under /algorithms.
26 July 2026
