resize: none是禁用textarea右下角拖拽调整大小的唯一可靠方式,必须写在css中(如内联样式style="resize: none;"或class规则),且需确保不被更高优先级样式覆盖、父容器未设overflow: visible干扰生效。

textarea怎么禁用右下角拖拽调整大小
直接在 textarea 标签里加 resize: none 就行,但必须写在 CSS 里,HTML 属性本身不支持禁用缩放。
- 不能写成
<textarea resize="none"></textarea>—— 这个属性根本不存在,浏览器会忽略 - 推荐内联样式:
<textarea style="resize: none;"></textarea> - 更稳妥的做法是用 class:
<textarea class="no-resize"></textarea>,再配 CSS:.no-resize { resize: none; } -
resize默认值是both,可选值还有horizontal、vertical、none,仅对overflow不是visible的元素生效(textarea默认overflow: auto,所以没问题)
为什么加了 resize: none 还能拖?
常见原因是 CSS 优先级被覆盖,或者父容器设置了 overflow: visible 干扰了行为。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 检查是否被其他样式覆盖,比如某个全局重置 CSS 写了
textarea { resize: both !important; } - 确认没有父级元素设置
overflow: visible且高度固定,这可能间接影响resize的触发条件 - Firefox 对
resize支持最严格,Chrome 和 Safari 一般没问题,但旧版 Safari(-webkit-resize: none; 兼容(现在基本不用了)
禁用 resize 后用户还能怎么改大小?
禁用拖拽不等于禁止尺寸变更,用户仍可通过 JS 动态修改 rows、cols 或内联 style.height/style.width。
-
rows和cols是 HTML 属性,控制的是“行数”和“字符宽度”,不是像素尺寸,受字体、缩放影响 - 如果真要锁死尺寸,得配合
min-height/max-height和min-width/max-width,例如:height: 120px; min-height: 120px; max-height: 120px; - 注意:只设
height不设max-height,JS 仍可能绕过;设了max-height且值等于height才真正“锁住”
移动端 textarea 也需要禁用 resize 吗?
需要,但效果不同 —— 移动端浏览器(iOS Safari、Android Chrome)默认就不显示拖拽手柄,resize: none 主要是预防桌面端 fallback 或某些 WebView 行为异常。
- iOS Safari 从 iOS 14+ 起已默认隐藏 resize 手柄,但若页面 zoom > 100% 或启用了某些辅助功能,仍可能意外出现
- 部分 Android WebView(尤其旧版)会响应
resize,建议统一加上,不增加成本 - 不需要额外加
-webkit-appearance: none或其他 hack,纯resize: none足够
textarea 的 resize。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










