Ein Textarea Element das seine Höhe mit zunehmender Zeilenzahl verändert, damit der vollständige Text angezeigt wird aber kein überflüssiger Leerraum.
HTML:
<!DOCTYPE html >
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>autoresize</title>
  </head>
  <body><label for="info">Textarea (autoresize):</label><textarea id="info" name="info" data-type="autoresize" rows="1" cols="33" placeholder="please input some text…"></textarea>
    <script src="autoresize.js"></script>
  </body>
</html>JavaScript:
// coding: utf-8
/** Created by: Udo Schmal | https://www.gocher.me/ */
(function () {
  'use strict';
  // load stylesheet
  if (!document.getElementById('autoresize.css')) {
    var style = document.createElement("link");
    style.type = 'text/css';
    style.href = '/code/autoresize/autoresize.css';
    style.id = 'autoresize.css';
    style.rel = 'stylesheet';
    document.head.appendChild(style);
  }
  function resize (event) {
    this.style.height = 'auto';
    this.style.height = (this.scrollHeight+5) + 'px';
  }
  var autoresize = document.querySelectorAll("[data-type='autoresize']");
  for (var i = 0; i < autoresize.length; i++) {
    var el = autoresize[i];
    el.addEventListener('keyup', resize);
    el.addEventListener('keypress', resize);
  }
})();
StyleSheet:
textarea[data-type="autoresize"] {
  resize: none;
  vertical-align: top;
}
 
         
                  
                  
                  
                