The resize CSS property sets whether an element is resizable, and if so, in which directions.
resize
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Try it
resize: both;
resize: horizontal;
resize: vertical;
resize: none;
<section class="default-example" id="default-example"> <div id="example-element">Try resizing this element.</div> </section>
#example-element {
background: linear-gradient(135deg, #0ff 0%, #0ff 94%, #fff 95%);
border: 3px solid #c5c5c5;
overflow: auto;
width: 250px;
height: 250px;
font-weight: bold;
color: #000;
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
}
resize does not apply to the following:
- Inline elements
- Block elements for which the
overflowproperty is set tovisibleorclip
Syntax
/* Keyword values */ resize: none; resize: both; resize: horizontal; resize: vertical; resize: block; resize: inline; /* Global values */ resize: inherit; resize: initial; resize: revert; resize: revert-layer; resize: unset;
The resize property is specified as a single keyword value from the list below.
Values
none-
The element offers no user-controllable method for resizing it.
both-
The element displays a mechanism for allowing the user to resize it, which may be resized both horizontally and vertically.
horizontal-
The element displays a mechanism for allowing the user to resize it in the horizontal direction.
vertical-
The element displays a mechanism for allowing the user to resize it in the vertical direction.
block-
The element displays a mechanism for allowing the user to resize it in the block direction (either horizontally or vertically, depending on the
writing-modeanddirectionvalue). inline-
The element displays a mechanism for allowing the user to resize it in the inline direction (either horizontally or vertically, depending on the
writing-modeanddirectionvalue).
Formal definition
| Initial value | none |
|---|---|
| Applies to | elements with overflow other than visible, and optionally replaced elements representing images or videos, and iframes |
| Inherited | no |
| Computed value | as specified |
| Animation type | discrete |
Formal syntax
Examples
Disabling resizability of text areas
In many browsers, <textarea> elements are resizable by default. You may override this behavior with the resize property.
HTML
<textarea>Type some text here.</textarea>
CSS
textarea {
resize: none; /* Disables resizability */
}
Result
Using resize with arbitrary elements
You can use the resize property to make any element resizable. In the example below, a resizable <div> contains a resizable paragraph (<p> element).
HTML
<div class="resizable">
<p class="resizable">
This paragraph is resizable in all directions, because the CSS `resize`
property is set to `both` on this element.
</p>
</div>
CSS
.resizable {
resize: both;
overflow: scroll;
border: 1px solid black;
}
div {
height: 300px;
width: 300px;
}
p {
height: 200px;
width: 200px;
}
Result
Specifications
| Specification |
|---|
| CSS Basic User Interface Module Level 4 # resize |
Browser compatibility
| Desktop | Mobile | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
resize |
1 | 79 | 4 | 12.1 | 3 | 18 | 4 | 14 | NoThe value is recognized, but has no effect. |
1.0 | 37 |
block |
118 | 118 | 63 | 104 | 16 | 118 | 63 | 79 | No | 25.0 | 118 |
block_level_support |
4 | 79 | 15 | 4 | 18 | 14 | No | 1.0 | 37 | ||
inline |
118 | 118 | 63 | 104 | 16 | 118 | 63 | 79 | No | 25.0 | 118 |
See also
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/resize