채팅 입력창처럼 타이핑할수록 커지는 textarea는 오랫동안 JS 없이는 불가능했습니다. `textarea`는 `rows` 속성으로 고정 줄 수만 잡을 수 있고, 내용에 맞춰 자동으로 커지려면 매 입력마다 `scrollHeight`를 읽어서 `height`에 다시 써주는 리스너가 필요했습니다.
`field-sizing: content`를 주면 textarea·input이 `width`/`height` 같은 명시적 크기 대신 내용 크기를 따라갑니다. `min-height`/`max-height`와 함께 쓰면 "3줄까지는 자동으로 늘어나고 그 이상은 스크롤"도 CSS만으로 표현됩니다.
기본 지원은 caniuse/MDN baseline을 확인하세요. 미지원 브라우저에서는 input 이벤트마다 `el.style.height = el.scrollHeight + 'px'`로 재는 고전적인 자동 리사이즈 스크립트가 여전히 필요합니다.
언제 쓰나
채팅 입력창, 댓글창처럼 내용에 맞춰 자동으로 커지는 textarea를 JS 없이 만들 때.