我有一大段的文本,分为<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>的行高和高度,我也谷歌了一下,堆栈溢出了,但没有找到任何解决方案。在不改变布局的情况下,这可能吗?


当前回答

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

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

下面是QuirksMode上的一个例子。

其他回答

我有个想法也许能派上用场

br:after {
    content: ".";
    visibility: hidden;
    display: block;
}

但这在chrome或firefox上行不通。

我只是觉得我应该提一下以防别人也这么想这样他们就不用麻烦了。

迈克尔和尤达都是对的。你能做的是使用<p>标签,它是一个块标签,使用底部边距来抵消下面的块,所以你可以做类似的事情来获得更大的间距:

<p>
    A block of text.
</p>
<p>
    Another block
</p>

另一种替代方法是使用block <hr>标记,使用该标记可以显式地定义间距的高度。

记住,(mis)在某处使用<hr>标记,将结束<p>标记,所以忘记这个解决方案。 如果f.ex。在<p>周围设置样式,插入<hr>后,其余内容的样式将消失。

使用< div >

<div>Content 1</div>Content 2

这允许没有任何垂直空间的新行。

这就变成了

<div>内容1</div>内容2

可能会发现一个解决方案非常简单,你只需要创建不同类型的。似乎对我有用。

例子: (html代码)

<br/ class="150%space">

(css代码)

br[class='150%space']
{
   line-height: 150%;
}