Сохранение переносов строк в textarea: руководство
Быстрый ответ
<!-- Взяв пример с Бэтмена, нам становится понятно, что CSS-правила применимы ко всему, включая textarea! -->
<!-- Применяем CSS-свойство white-space: pre-wrap; для сохранения оформления -->
<textarea style="white-space: pre-wrap;"></textarea>
Применение white-space: pre-wrap; к <textarea> заставляет браузер учитывать вводимые пользователем данные, сохраняя пробелы и переносы строк.

Исследование свойства CSS
Рассмотрев white-space: pre-wrap;, давайте обратим внимание на другие варианты. Например, white-space: pre-line; оказывается весьма полезен, так как он преобразует несколько пробелов в один, при этом сохраняя перенос строки.
Работа с протяженными непрерывными текстами
Длинные строки или URL могут нарушить макет страницы. Объединяя white-space: pre-wrap; с overflow-wrap: break-word;, мы получаем возможность сохранять форматирование текста, не нарушая при этом дизайн страницы.
Перенос содержимого textarea на HTML-страницу
Функция nl2br(), которую часто используют на серверной стороне, например, в PHP, позволяет переводить переносы строк в теги <br>. Это обеспечивает сохранение форматирования при выводе текста на страницу.
HTML-элемент <pre> для сохранения форматирования
Тег <pre> хорошо подходит для отображения текстов, содержащих множество пробелов, или уже отформатированного кода. Тем не менее, его основное применение связано с отображением текста, а не с его вводом, как в случае с textarea.
Контекст имеет значение: надо знать, в каком месте появится ваш вывод
Важно понимать, куда направлен ввод данных пользователем: на веб-страницу или в форму, поскольку это определяет правила обработки переносов строк и форматирования вообще.
Ввод в textarea и статическое отображение в HTML
Обработка переносов строк в элементе textarea может различаться от форматирования текста, предназначенного для статического отображения на HTML-страницах.
Факторы окружения
Необходим и индивидуальный подход к обработке переносов строк и их отображению в каждом конкретном приложении, учитывая его особенности.
Учет намерений пользователей
При работе с текстами, вводимыми пользователями, крайне важно сохранять переносы строк в введенном виде, чтобы избежать потери структуры сообщения.
Визуализация
Представьте, что вы написали электронное письмо, и каждый выполненный вами перенос строки будет сохранен:
Привет, Друг,        //Сделаем перенос строки, и он сохранится! ✅
Надеюсь, у тебя всё в порядке. //Этот перенос строки тоже сохранится! ✅
Всего наилучшего,            //Да, и этот перенос строки останется вне прямой видимости! ✅
Твой               //Бах-тум-пух, перенос строки и тут!✅
В HTML <textarea> ваш новый абзац будет надежным, как жизни в видеоиграх.
Стилизация переносов строк
При визуализации текста с сохраненными переносами строк не забудьте настроить такие CSS-свойства как font-family, font-size и line-height. Это заметно улучшает читаемость.
Обеспечение одинакового отображения в разных браузерах
Не забывайте тестировать отображение переносов строк в разных браузерах, чтобы гарантировать согласованность интерфейса. Стандартные стили браузеров могут различаться.
Помните о доступности
Правильная семантика и форматирование помогают улучшить доступность текста для людей, использующих вспомогательные технологии.
Полезные материалы
<textarea>: Элемент Textarea– HTML | MDN – Руководство MDN по работе с<textarea>.- Make "Pre" Text Wrap | CSS-Tricks – Как управлять пробелами в тексте с помощью CSS.
 - Свойство CSS white-space – Глубокое понимание управления пробельными символами в CSS.
 - Как включить новые строки в 
text()jQuery – Stack Overflow – О сохранении переносов строк с помощью jQuery. - white-space | CSS-Tricks – Подробная информация о свойстве 
white-spaceв CSS. 


