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


当前回答

Css:

br {
   display: block;
   margin: 10px 0;
}

解决方案可能不跨浏览器兼容,但至少是可以的。还可以考虑设置行高:

line-height:22px;

对于谷歌Chrome浏览器,考虑设置内容:

content: " ";

除此之外,我认为您只能使用JavaScript解决方案了。

其他回答

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

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

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

另一种方法是使用人力资源。但是,狡猾的是,让它隐形。

因此:

<hr style="height:30pt; visibility:hidden;" />

使用HR来模拟一个更干净的BR中断:Btw适用于所有浏览器!!

{ height:2px; visibility:hidden; margin-bottom:-1px; }

所以,上面的人基本上得到了类似的答案,但在这里它非常简洁。适用于Opera, Chrome, Safari和Firefox,最有可能也适用于IE ?

br {
            display: block; /* makes it have a width */
            content: ""; /* clears default height */
            margin-top: 0; /* change this to whatever height you want it */
}

下面是一个在IE、Firefox和Chrome中都能运行的解决方案。其思想是将br元素的字体大小从14px增加到18px,并将元素降低4px,以便额外的大小在文本行以下。结果是br下面有4px的额外空白。

br 
{ 
font-size: 18px; 
vertical-align: -4px; 
}  

你似乎不能调整BR的高度,但你可以让它可靠地消失使用显示:无

在寻找以下问题的解决方案时遇到了这个页面:

我有一个情况,第三方支付网关(Worldpay)只允许你自定义他们的支付页面,最多10k的CSS和HTML(不允许脚本)被注入到他们的模板的主体,在一些BR,字体标签等。 再加上他们的DTD迫使IE7/8进入Quirks模式,这使得跨浏览器定制变得非常困难!

关闭BR会让事情变得更加一致……