JSFiddle - React, Tailwind, and code Playground

by Daniel Lotos

HTML

<input type="text" class="input" placeholder="напиши здесь свое имя">
  <br/>
  <input type="text" class="input" placeholder="напиши здесь свой e-mail">

CSS

.input,
.buffer {
  font-family: Arial, Verdana, sans-serif;
  font-size: 14px;
  letter-spacing: 0.05em;
}

.input {
  border: none;
  min-width:50px;
  border-bottom: 2px solid silver;
  margin-bottom: 24px;
}

.buffer {
  position: absolute;
  top: -1000px;
  left: -1000px;
  visibility: hidden;
  white-space: nowrap;
}

JavaScript

var input = document.querySelectorAll('.input'),
  buffer = [];
for (var i = 0; input.length > i; i++) {
  console.log(input[i].value);
  buffer[i] = document.createElement('div');
  buffer[i].className = "buffer";
  //вставляем скрытый div.buffer
  input[i].parentNode.insertBefore(buffer[i], input[i].nextSibling);

  input[i].oninput = function() {
    this.nextElementSibling.innerHTML = this.value;
    this.style.width = this.nextElementSibling.clientWidth + 'px';
  };
}