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


当前回答

<br>为换行符。 <br />也是换行符,void元素或xhtml可以选择使用“/”。 使用<br></br>,浏览器将插入两个换行符,因为这两个换行符“实际上”相同。 没有办法增加换行符的大小,因为它只是一个换行符。 使用一个div,能见度设置为隐藏(<div style="能见度:隐藏;行高:150%;"</div>)或者更好,一个段落。

其他回答

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

因此:

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

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

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

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

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

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

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

我使用这些方法,但我不知道是否跨浏览器

方法一======

br {
    display:none;
}

或 ======方法二======

br {
    display: block;
    margin-bottom: 2px;
    font-size:2px;
    line-height: 2px;
}
br:before {
    display: block;
    margin-top: 2px;
    content: "";
}
br:after {
    content: ".";
    visibility: hidden;
    display: block;
}

或 ======方法三======

br:after { content: "" }
br { content: "" }

下面是真正支持跨浏览器的正确解决方案:

  br {
        line-height: 150%;
     }

使用一些HTML在markdown,不得不强制<br>s在一个列表,导致太狭窄,没有一个给定的解决方案工作如预期(至少在我的设置)

最后是

<div style="height:10px;font-size:10px;">&nbsp;</div>

我在这里找到了,非常接近dorogz的建议。当然,对于标准的需要,CSS是更好的