DEV Community

hahaxo
hahaxo

Posted on

CSS 新属性Field-sizing,可以使input 、 textarea和select自适应其内容

介绍field-sizing

field-sizing 是一个新的 CSS 属性,可以使input 、 textarea和select自动缩放到其内容的大小。

  • fixed ,这是输入、文本区域和选择的当前行为,无论内容如何,​​它们都具有固定大小。
  • content ,使表单元素缩放到内容的大小

当您将其应用于inputselect时,它将缩放到内容的宽度。当您将其应用于textarea,它将缩放到内容的高度。

示例

<input
  type="text"
  placeholder="input"
  value="this sizes to its content"
/>

<style>input {
  field-sizing: content;
}
</style>
Enter fullscreen mode Exit fullscreen mode
<textarea>
Here is a
Multiline
Textarea
</textarea>


<style>
 textarea {
  field-sizing: content;
  width: 200px;
}
</style>
Enter fullscreen mode Exit fullscreen mode

注意事项

  • 它是CSS 基本用户界面模块第 4 级 CSS Basic User Interface Module Level 4 的一部分,仍处于编辑器草稿状态(意味着事情可能并且将会发生变化),目前它是 Chromium 独有的功能。不过,我预计它会在今年某个时候登陆其他浏览器,Safari 已经发出了积极的信号,Firefox 可能也会效仿。
  • 除了缺乏浏览器支持之外,您还需要确保您的input、select或textarea有一些边界。如果你不这样做,它只会不断增长。您可以通过在元素上设置max-widthmax-height来做到这一点
  • 同样,如果您不希望它缩小到空格或点的宽度,请为您的输入和选择添加min-width

Top comments (0)