CSS field-sizing属性简介

这篇文章发布于 2025年10月13日,星期一,11:59,归类于 CSS相关。 阅读 239 次, 今日 238 次 2 条评论

 

封面图

一、长话短说

CSS field-sizing是一个CSS新特性,专门给输入型表单元素使用的,例如<input><textarea>元素等。

是这样的,在过去,无论是单行输入框,还是多行文本域,其宽度在内容输入的时候,都是固定的,如果希望尺寸跟着内容的宽度走,需要使用JavaScript代码帮忙处理,现在,无需这么麻烦,使用field-sizing设置下就好了,例如:

input { field-sizing: content }
<input placeholder="输入内容">

此时,你在输入框内键入内容,可以看到,输入框的宽度基于你输入的内容多少自动撑大或缩小了。

实时效果如下所示(Chrome 123+,或者最新的Safari),大家可以再下面的输入框随便写点什么内容:

是不是可以看到,输入框的宽度紧跟着文字内容多少变化了?

二、语法速览

语法很简单,就下面这几个属性值:

field-sizing: content;
field-sizing: fixed;

其中:

  • fixed是默认值,表示尺寸固定。
  • content表示尺寸根据内容多少进行变化。

没什么好讲的。

三、补充说明

一些补充说明:

  • 当输入框设置了field-sizing:content声明的时候,原本会影响尺寸的size属性就会变得无效。
  • textarea元素的rowscols属性也会无效。
  • field-sizing属性也可以用在<select>元素上。
  • 实际使用的时候,可以配合min-widthmax-width属性限制输入框的最小尺寸和最大尺寸。避免内容过多的时候,影响排版布局。

四、打道回府

好了,其实就这么点内容,我觉得这个特性还是有点用处的。

最后,兼容性:

field-sizing兼容性

Safari已经明确支持了。

好,就这么多!感谢阅读,欢迎点赞,转发。

😉😊😇
🥰😍😘

(本篇完)

分享到:


发表评论(目前2 条评论)

  1. codehz说道:

    这玩意在input上意义不大,因为大多数时候input要么固定宽度,要么直接撑满宽度,最好用的还是textarea,不需要写额外js去自动扩展高度了