Есть ли способ заставить HTML правильно обрабатывать \n
разрывы строк? Или я должен заменить их<br/>
?
Есть ли способ заставить HTML правильно обрабатывать \n
разрывы строк? Или я должен заменить их<br/>
?
Ответы:
Это для отображения новой строки и возврата каретки в html, тогда вам не нужно делать это явно. Вы можете сделать это в css, установив предварительное значение атрибута пробела.
<span style="white-space: pre-line">@Model.CommentText</span>
white-space: pre-wrap
если хотите сохранить вкладки также.
Вы можете использовать white-space
свойство CSS для \n
. Вы также можете сохранить вкладки, как в \t
.
Для разрыва строки \n
:
white-space: pre-line;
Для разрыва строки \n
и вкладок \t
:
white-space: pre-wrap;
По вашему вопросу это можно сделать различными способами: - Например, вы можете использовать:
Если вы хотите вставить новую строку в текстовую область, вы можете попробовать это: -
Перевод строки и
возврат каретки
<textarea>Hello Stackoverflow</textarea>
Вы также можете
<pre>---</pre>
отформатировать текст.
<pre>
This is Line1
This is Line2
This is Line3
</pre>
Или вы можете использовать
<p>----</p>
пункт
<p>This is Line1</p>
<p>This is Line2</p>
<p>This is Line3</p>
Примечание: если вы хотите использовать,
\n
вам необходимо установить сервер, такой как Xampp или Apache, для поддержки языка на стороне сервера
Вы можете использовать <pre>
тег
<div class="text">
<pre>
abc
def
ghi
</pre>
abc
def
ghi
</div>
Вы можете использовать <pre>
тег:
<div class="text">
<pre>
abc
def
ghi
</pre>
</div>
Использование white-space: pre-line
позволяет вводить текст непосредственно в HTML с переносами строк без использования\n
Если вы используете innerText
свойство элемента через JavaScript на элементе non-pre, например, a <div>
, \n
значения будут заменены <br>
на DOM по умолчанию
innerText
: заменяется \n
на<br>
innerHTML
, textContent
: Требуется использование стайлингаwhite-space
Это зависит от того, как вы применяете текст, но есть ряд вариантов
const node = document.createElement('div');
node.innerText = '\n Test \n One '
Простой и линейный:
<p> my phrase is this..<br>
the other line is this<br>
the end is this other phrase..
</p>
Вам следует подумать о замене линейных тормозов на <br/>
. В HTML разрыв строки будет означать только новую строку в вашем коде.
В качестве альтернативы вы можете использовать некоторые другие HTML-разметки, такие как размещение строк в абзацах:
<p>Sample line</p>
<p>Another line</p>
или другие упаковщики как, например , <div>sample</div>
с атрибутом CSS: display: block
.
Вы также можете использовать <pre>
. Содержимое pre
будет игнорироваться в стиле html. Другими словами, он будет отображать чистый HTML с нормальными \n
тормозными магистралями