html行高问题; <br/> vs CSS line-height

时间:2013-11-10 22:19:14

标签: html line-breaks css pre

我知道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或其他东西......但我必须保持格式化(空格缩进,换行符,保存在DB中的所有内容)。问题是<br>换行符比文本换行换行符高(从css获取其值)。有什么方法可以控制它们吗?据我所知,<br>继承了它的高度值......但我不是从它继承的地方继承它。来自当前文本,来自父级,来自浏览器默认设置?

2 个答案:

答案 0 :(得分:7)

只需删除<br>代码并保留换行符即可。 pre标记会破坏文本中有换行符的行:

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

或使用CSS隐藏br标记:

pre br { display: none; }

答案 1 :(得分:1)

要回答您的上一个问题:<br>标记的高度(或更准确地说,行高)是从其父级继承的。

以下是一个小提琴:http://jsfiddle.net/ivandurst/7afUZ/

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

br {line-height: 1.5em}