调整尺寸属性

最后更新:2026-09-13

resize 调整尺寸属性

resize 用于控制用户是否可以通过拖拽来调整元素的尺寸,以及允许的调整方向。它常用于 <textarea> 等元素,让用户根据需要自由改变元素大小,提升表单的可用性。

分类
初始值none
继承
适用于
可动画
CSS 版本CSS3
状态标准

📝 语法

resize: none | both | horizontal | vertical | block | inline;

⚙️ 取值

类型描述
none | both | horizontal | vertical | block | inline关键字用户调整尺寸

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
resize v4 v12 v1 v1 v1
所有主流浏览器均支持
提示: resize 必须配合 overflow 属性(值为 auto、scroll 或 hidden)才能生效;没有 overflow 属性时 resize 无效。
提示: horizontal 只允许水平调整宽度;vertical 只允许垂直调整高度;both 允许同时调整两个方向。

❓ 常见问题

Qresize 可以用在哪些元素上?
Atextarea 默认可用;其他元素要满足两个条件:overflow 值不是 visible(auto、hidden、scroll),且元素有显式或可推断的尺寸。满足条件后,div、section、图片容器等都能获得拖拽调整手柄。inline 元素默认不适用。
Q如何禁止用户调整 textarea 大小?
A设置 resize: none 即可去掉右下角的拖拽手柄。如果只允许纵向调整写 resize: vertical,只允许横向调整写 resize: horizontal。产品要求固定布局、或 textarea 内容区高度由 JS 自动计算时,禁用 resize 是常见需求。
Qresize 不生效是什么原因?为什么必须设置 overflow?
A规范要求 resize 只在 overflow 非 visible 的元素上生效,否则属性被忽略,这是最常见的失效原因。另外元素需要能被拖拽出实际的尺寸变化——display: inline 的元素、没有尺寸约束的元素也不行。排查顺序:overflow → 元素类型 → 是否可滚动容器。
Qresize 能限制元素调整的最小最大尺寸吗?
A可以。resize 控制「能不能调」,min-width、max-width、min-height、max-height 控制「调的范围」,两者可叠加。例如 resize: both; max-width: 400px; min-width: 200px; 时,元素只能在 200~400px 之间拖动。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏