field-sizing: content

Baseline 2026 (Chrome 123, Safari 26.2, Firefox 152 en junio de 2026).

Chrome 123Edge 123Safari 26.2Firefox 152

Hace que inputs, textareas y selects se dimensionen según su contenido, así que un textarea crece mientras el usuario escribe y un input es tan ancho como su valor. Acaba con el snippet de JS del textarea que crece solo.

CSS
.fx-031 {
  font-family: system-ui;
  display: grid;
  gap: 4px;
  max-width: 400px
}
.fx-031 textarea {
  field-sizing: content;
  min-height: 2lh;
  max-height: 12lh;
  padding: 8px;
  border: 1px solid #bbb;
  border-radius: 8px;
  resize: none
}
.fx-031 :is(a,button,input,select,textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
HTML
<label class="fx-031">Notes <textarea rows="2" placeholder="Type to grow"></textarea></label>

Fallback: Los navegadores sin soporte conservan la altura fija de `rows` con una barra de scroll.

Fuente: developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/152 and https://webkit.org/blog/17640/webkit-features-for-safari-26-2/

Prompt

Para textareas e inputs que crecen solos usa `field-sizing: content` con `min-height`/`max-height` en unidades `lh` como límites; no añadas listeners de input que definan `style.height`. Conserva `rows`/`size` como tamaño de respaldo.