<textarea> elements support user resizing by default in most browsers, since resize's initial value for that specific element is typically both, allowing dragging in either direction, though the resize property itself only has any visible effect on an element whose overflow property is also set to something other than the default visible, like auto or hidden, since resizing relies on the same underlying mechanism as scrollable overflow regions. Setting resize: none on a textarea explicitly disables this default resizing handle, useful when a fixed, non-resizable textarea size is specifically desired for a particular design.
1Understanding Resize
<textarea> elements support user resizing by default in most browsers, since resize's initial value for that specific element is typically both, allowing dragging in either direction, though the resize property itself only has any visible effect on an element whose overflow property is also set to something other than the default visible, like auto or hidden, since resizing relies on the same underlying mechanism as scrollable overflow regions. Setting resize: none on a textarea explicitly disables this default resizing handle, useful when a fixed, non-resizable textarea size is specifically desired for a particular design.
The resize property only has a visible effect on an element whose overflow is also set to something other than the default visible, like auto or hidden — resize alone, without an appropriate overflow value, produces no visible resize handle at all.
textarea {
resize: none;
}2Practical Example
Here is a real-world application of Resize showing how it is used in production CSS code.
.resizable-box {
overflow: auto;
resize: both;
width: 200px;
height: 150px;
}3Best Practices
Follow these guidelines when working with Resize:
1. Set resize: none on a textarea specifically when a fixed, non-resizable size is genuinely required by the design, rather than leaving the browser's default resizable behavior in place unintentionally
2. Remember resize requires overflow to also be set to something other than visible on that same element, since it shares the same underlying mechanism
3. Consider allowing textareas to remain resizable by default in most cases, since it's a genuinely useful, expected capability for users entering longer amounts of text
Tip: The resize property only has a visible effect on an element whose overflow is also set to something other than the default visible, like auto or hidden — resize alone, without an appropriate overflow value, produces no visible resize handle at all.
textarea {
resize: none;
}