在日常开发中,尤其是对于表单操作比较多的场景,会经常遇到 textarea
元素不能跟随文字长度自适应高度的情况。常见的有多语言翻译、大模型检索、多行输入等功能输入框。如果我们要实现输入框高度随输入内容高度自适应,通常需要通过 Javascript 或者 div[contenteditable="true"]
来实现。
比较庆幸的是 Chrome 浏览器团队的一些工程师已经提出并正在使用 field-sizing
属性来解决这一问题,通过该属性可以进一步提升表单操作的用户体验(UX)。
本文将通过一些示例来详细介绍 field-sizing
的概念和应用场景及一些注意事项。
field-sizing 介绍
field-sizing CSS 属性允许开发者根据内容改变具有固定尺寸元素(如 input
、textarea
、select
)的大小行为。
1)field-sizing 可取值: