如何在不使用<br>
标签的情况下获得相同的输出?
<p>hello <br> How are you </p>
输出:
你好 你怎么样
如何在不使用<br>
标签的情况下获得相同的输出?
<p>hello <br> How are you </p>
输出:
你好 你怎么样
在相同的HTML结构下,区别Hello
和How are you
需要一些特殊操作。
我建议使用span
标签,然后将其显示为块级元素(就像<div>
一样)。
p span {
display: block;
}
<p><span>hello</span><span>How are you</span></p>
<br />
元素是有很好的原因存在的。如果你想要换行是因为它们是分开的段落,那么只需将它们标记为不同的段落即可。 - Rowland Shaw<br>
正确标记的典型示例。对于诗歌来说,使用Spans会是“错误”的做法。 - Alan H.<br/>
作为正常的换行符,但使用display: none
来隐藏它。display:none
应用于<br/>
以隐藏它。br { display: none; }
<div>
The quick brown fox<br />
jumps over the lazy dog
</div>
@media screen and (min-width: 20em) {
br {
/* hide the BR tag for wider screens (i.e. no line break) */
display: none;
}
}
。
display: none
解决方案是迄今为止最合适和有用的。 - fullstackplusdisplay:inline-block; width:1em;
而不是none
的东西。 - Beejor<br class='foo'>
应用一个类,但不要过于疯狂! - Simon_Weaver有几种选项可以定义处理空格和换行的方式。
如果可以将内容放在例如<p>
标签中,那么很容易得到想要的任何内容。
要保留换行但不保留空格,请使用pre-line
(而不是pre
),如下所示:
<style>
p {
white-space: pre-line; /* collapse WS, preserve LB */
}
</style>
<p>hello
How are you</p>
如果需要另一种行为,请从以下选项中选择之一(WS=空格,LB=换行符):
white-space: normal; /* collapse WS, wrap as necessary, collapse LB */
white-space: nowrap; /* collapse WS, no wrapping, collapse LB */
white-space: pre; /* preserve WS, no wrapping, preserve LB */
white-space: pre-wrap; /* preserve WS, wrap as necessary, preserve LB */
white-space: inherit; /* all as parent element */
"\a"在CSS中是一个生成换行符的命令。这是CSS而不是HTML,所以它会更接近你想要的:没有额外的标记。
在blockquote
中,下面的示例显示标题和来源链接,并使用换行符("\a"
)将两者分开:
blockquote[title][cite]:after {
content:attr(title)"\a"attr(cite)
}
display:flex
时可能会导致破坏,因此在这种情况下是一种 hack)。它并不花哨,只是一种现代技术。如果你想要完全相同的标记,但实际上要有不同的反应,那么这是正确的方法。 - renoirb"
- 不要使用单引号 '
,因为您希望允许 \a
被解析为特殊字符。 - Hafenkranich在CSS中使用以下代码
p {
white-space: pre-line;
}
使用这个CSS,P
标签内的每个Enter键都会变成HTML中的换行符。
在之前说过的基础上,这是一个纯 CSS 方案,可行。
<style>
span {
display: inline;
}
span:before {
content: "\a ";
white-space: pre;
}
</style>
<p>
First line of text. <span>Next line.</span>
</p>
input type='text'
很有帮助,将输入框包裹起来,然后用一个包装器div
覆盖在上面。这还需要在:before
中使用pointer-events:none;
,以便仍然能够点击下面的按钮。 - Eric Leasedisplay:block;
<pre> <---------------------------------------
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
</pre> <--------------------------------------
或
<div style="white-space:pre"> <-----------------------------------
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
lorem ipsum
</div> <-----------------------------------
以下是一个糟糕的答案,用来回答一个糟糕的问题,但是它严格符合要求:
p {
width : 12ex;
}
p:before {
content: ".";
float: right;
padding-left: 6ex;
visibility: hidden;
}
ex
应该是什么?键盘上p
和e
并不接近,所以我才问。 - MMachinegunex
的定义是“等于第一个可用字体的x高度”。 - Alohci
pre
更好的是pre-line
,它允许自动换行。 - Alan H.