我有一大段的文本,分为<br>的子段落:

<p>
  Blah blah blah.
  <br/>
  Blah blah blah. Blah blah blah. Blah blah blah.
  <br/>
  Blah blah blah.
</p>

我想扩大这些分段之间的间隔,比如有两个<br>之类的。我知道这样做的正确方法是使用<p></p>,但现在我不能改变这个布局,所以我正在寻找css的解决方案。

我试着用display: block设置<br>的行高和高度,我也谷歌了一下,堆栈溢出了,但没有找到任何解决方案。在不改变布局的情况下,这可能吗?


当前回答

我让它在IE7中工作通过使用解决方案的组合,但主要是包装在DIV中的Br奈杰尔和其他人建议。添加Id和运行在="服务器",所以我可以删除BR时,从复选框行删除复选框。

.narrow {
    display: block;
    margin: 0px;
    line-height: 0px;
    content: " "; 
}
<div class="narrow" run at="server"><br></br></div>

其他回答

据我所知<br>没有高度,它只是强制换行。你得到的是一个文本,除了自动换行之外,还有一些换行符,而不是段落。您可以更改行间距,但这将影响所有行。

我以前没有尝试过:before/:after CSS2伪元素,主要是因为它只在IE8中被支持(这涉及到IE浏览器)。这可能是唯一可能的CSS解决方案:

br:before {
    display: block;
    margin-top: 10px;
    content: "";
}

下面是QuirksMode上的一个例子。

尝试在包含br标记的p标记上使用CSS line-height属性。记住,如果你想隔离它,你可以标识你的p标签,尽管在我看来,使用div隔离可能更好。

<span style="line-height:40px;"><br></span> 

你必须在内联和每个元素上这样做,但它应该在大多数浏览器上工作 调整线高以获得想要的效果。如果您在每个元素上都将其内联,那么它应该可以跨大多数浏览器和电子邮件工作(但这太复杂了,这里不讨论)。

当我无法从span标签中获得样式间距时,这为我做了一件事:

        <p style='margin-bottom: 5px' >
            <span>I Agree</span>
        </p>
        <span>I Don't Agree</span>