1

我知道 stackoverflow 上有很多“类似”的问题,但没有一个可以回答我的困境。
代码是这样的:

------------CSS--------------
pre{
    white-space : pre-wrap;
    line-height:75%;
}

-----------HTML--------------
<pre>Some text<br>
     second line of text<br>
     third line<br>
     some longer text that will get wrapped on another line</pre>

我从数据库中获取了文本,所以我不能使用li或其他东西......但我必须保持格式(空格缩进,换行符,一切都保存在数据库中)。问题是<br>换行符比 text-wrap 换行符高(它的值来自 css)。有什么办法可以控制这两个?据我了解,<br>继承了它的高度值......但我没有从它继承它的地方。来自当前文本、来自父级、来自浏览器默认设置?

4

2 回答 2

7

只需删除<br>标签并保留换行符即可。该pre标记将在文本中有换行符的地方换行:

<pre>Some text
    second line of text
    third line
    some longer text that will get wrapped on another line
</pre>

br或者使用 CSS隐藏标签:

pre br { display: none; }
于 2013-11-10T22:24:58.753 回答
1

回答你的最后一个问题:<br>标签的高度(或更准确地说,行高)是从它的父级继承的。

这里以小提琴为例:http: //jsfiddle.net/ivandurst/7afUZ/

此外,您可以<br>直接设置 line-height,但不幸的是,任何 1em 或更小的值都不会影响它:

br {line-height: 1.5em}
于 2013-11-10T22:42:39.513 回答