The resize
CSS sets whether an element is resizable, and if so, in which direction(s).
/* Keyword values */ resize: none; resize: both; resize: horizontal; resize: vertical; resize: block; resize: inline; /* Global values */ resize: inherit; resize: initial; resize: unset;
Initial value | none |
---|---|
Applies to | elements with overflow other than visible , and optionally replaced elements representing images or videos, and iframes |
Inherited | no |
Media | visual |
Computed value | as specified |
Animation type | discrete |
Canonical order | the unique non-ambiguous order defined by the formal grammar |
Syntax
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-mode
anddirection
value). 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-mode
anddirection
value).
Note: resize
does not apply to blocks for which the overflow
property is set to visible
.
Formal syntax
none | both | horizontal | vertical
Examples
Disabling resizability of textareas
In many browsers, <textarea>
elements are resizable by default. You may override this behavior with the resize
property.
CSS
textarea { resize: none; /* Disables resizability */ }
HTML
<textarea>Type some text here.</textarea>
Result
Using resize with arbitrary elements
You can use the resize
property to make any element resizable. In the example below, a resizable <div>
box contains a resizable paragraph (<p>
element).
CSS
.resizable { resize: both; overflow: scroll; border: 1px solid black; } div { height: 300px; width: 300px; } p { height: 200px; width: 200px; }
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>
Result
Specifications
Specification | Status | Comment |
---|---|---|
CSS Logical Properties Level 1 The definition of 'resize' in that specification. |
Editor's Draft | Adds the values block and inline . |
CSS Basic User Interface Module Level 3 The definition of 'resize' in that specification. |
Candidate Recommendation | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support (on <textarea> ) |
1.0 | 4.0 (2.0)-moz | No support | 12.1 | 3.0 (522) |
On any block-level and replaced element, table cell, and inline block element (unless overflow is visible ) |
4.0 | 5.0 (5.0)[1] | No support | 15 | 4.0 |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support (on <textarea> ) |
? | ? | ? | ? | ? |
On any block-level and replaced element, table cell, and inline block element (unless overflow is visible ) |
? | ? | ? | ? | ? |
[1] resize
doesn't have any effect on <iframe>
(cf. bug 680823)
See also
Document Tags and Contributors
Tags:
Contributors to this page:
mfluehr,
pborenstein,
SphinxKnight,
LouisLazaris,
Sebastianz,
fscholz,
cvrebert,
Speich,
tregagnon,
lavish,
kscarfone,
teoli,
Sheppy,
0b10011,
ethertank,
FredB,
grendel,
jojomojo,
Jürgen Jeka,
Ms2ger,
fryn
Last updated by:
mfluehr,