Limited support Firefox 未対応のため、JSフォールバックとの併用が必要。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
123
123
26.2
123
26.2
content
123
123
26.2
123
26.2
fixed
123
123
26.2
123
26.2
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

CSS
textarea {
  field-sizing: content;
  min-height: 3lh;
  max-height: 10lh;
}

input {
  field-sizing: content;
  min-width: 10ch;
}

ライブデモ

Textareaautostretchshrink

field-sizing Textareaautostretchshrink demo.

プレビュー全画面表示

Inputfieldstretchshrink

field-sizing Inputfieldstretchshrink demo.

プレビュー全画面表示

Selectautowidth

field-sizing Selectautowidth demo.

プレビュー全画面表示

実務での使いどころ

  • 自動リサイズ textarea

    チャット入力欄やコメント欄で、入力行数に応じて textarea の高さが自動で広がる。

  • コンテンツ幅の input

    タグ入力やインライン編集で、入力テキストの長さに合わせて input 幅が変化する。

注意点

  • Firefox が未対応。JSによるフォールバックを併用すること。
  • min-height / max-height を設定しないと、コンテンツ量によって極端にサイズが変化する。

フォールバック戦略

CSS
@supports not (field-sizing: content) {
  textarea {
    resize: vertical;
    min-height: 80px;
  }
}

アクセシビリティ

  • 自動リサイズにより入力領域が見えなくなることがないよう、min-height を適切に設定する。