【发布时间】:2023-03-15 16:30:01
【问题描述】:
有没有办法让 HTML 正确处理 \n 换行符?或者我必须用<br/>替换它们?
<div class="text">
abc
def
ghi
</div>
【问题讨论】:
标签: html
有没有办法让 HTML 正确处理 \n 换行符?或者我必须用<br/>替换它们?
<div class="text">
abc
def
ghi
</div>
【问题讨论】:
标签: html
这是为了在 HTML 中显示换行和回车,然后你不需要显式地这样做。您可以在 CSS 中通过设置 white-space 属性前行值来实现。
<span style="white-space: pre-line">@Model.CommentText</span>
【讨论】:
white-space: pre-wrap。
您可以将 CSS white-space 属性用于 \n。你也可以像\t一样保留标签。
换行符\n:
white-space: pre-line;
对于换行符\n 和制表符\t:
white-space: pre-wrap;
document.getElementById('just-line-break').innerHTML = 'Testing 1\nTesting 2\n\tNo tab';
document.getElementById('line-break-and-tab').innerHTML = 'Testing 1\nTesting 2\n\tWith tab';
#just-line-break {
white-space: pre-line;
}
#line-break-and-tab {
white-space: pre-wrap;
}
<div id="just-line-break"></div>
<br/>
<div id="line-break-and-tab"></div>
【讨论】:
根据您的问题,可以通过多种方式完成:- 例如,您可以使用:
如果你想在文本区域插入一个新行,你可以试试这个:-
&#10;换行和&#13;回车
<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>
【讨论】:
你可以使用<pre>标签
<div class="text">
<pre>
abc
def
ghi
</pre>
abc
def
ghi
</div>
【讨论】:
使用white-space: pre-line 允许您直接在HTML 中输入带有换行符的文本,而无需使用\n
如果您通过 JavaScript 在非 pre 元素上使用元素的 innerText 属性,例如一个<div>,默认情况下,\n在DOM中的值将被替换为<br>
innerText:将\n 替换为<br>
innerHTML,textContent:需要使用样式white-space
这取决于你如何应用文本,但有很多选项
const node = document.createElement('div');
node.innerText = '\n Test \n One '
【讨论】:
br 的行为取决于浏览器——因此不太可能将其描述为单个文档。我很少使用innerText,但经常使用white-space 样式
你可以使用<pre>标签:
<div class="text">
<pre>
abc
def
ghi
</pre>
</div>
【讨论】:
简单而线性:
<p> my phrase is this..<br>
the other line is this<br>
the end is this other phrase..
</p>
【讨论】: