Как сделать увеличивающееся при введении символов место для ввода
Я хотел-бы узнать, как сделать увеличивающееся поле для ввода, вместо появляющегося скролла справа сбоку. Например на CSS HTML JS
На примере вот так:

Ответы (2 шт):
Автор решения: Алексей
→ Ссылка
document.querySelectorAll('textarea').forEach(el => { el.style.height = el.setAttribute('style', 'height: ' + el.scrollHeight + 'px'); el.classList.add('auto'); el.addEventListener('input', e => { el.style.height = 'auto'; el.style.height = (el.scrollHeight) + 'px'; });});
Автор решения: Вася Воронцов
→ Ссылка
Думаю, самое простое решение - редактируемый div:
document.getElementsByClassName("inputArea")[0].innerHTML = "";
.inputArea:empty::before {
content: attr(placeholder);
color: #888;
}
.inputArea {
word-break: break-word;
padding: 5px;
background: #eee;
outline: 0px #fff solid;
}
<div contenteditable="true" class="inputArea" placeholder="Введите текст">
</div>
При проверке оказалось, что нужна небольшая "инициализация" этого поля ввода, поэтому добавил строчку на js.