我有一大段的文本,分为<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 {   
    content: "";
    margin: 2em;
    display: block;
    margin-bottom: -20px; 
 }

工作在Firefox, Chrome和Safari。 还没有在Explorer中测试。(windows平板电脑没电了。)

换行,字体大小在Firefox和Safari中是不同的。

其他回答

如果有人已经说过了,我很抱歉,但简单的解决方法是玩转你的“行高”。如果你在使用换行符时占用了太多的空间,这只是因为你把行高设置得太高了。你可以在CSS中纠正这个错误(但知道这会影响所有使用该属性的东西),或者你可以使用内联样式来覆盖CSS。

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

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

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

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

方法一======

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: "" }

2019年9月13日更新:

我使用<br class=big>来做一个超大的换行符,当我需要一个。直到今天,我都是这样写的:

br.big {line-height:190%;vertical-align:top}

(vertical-align:top只在IE和Edge中需要。)

这在我试过的所有主要浏览器中都有效:Chrome、Firefox、Opera、Brave、PaleMoon、Edge和IE11。

然而,它最近在基于chrome的浏览器中停止工作:我的“大”换行符变成了正常大小的换行符。

(我不知道他们是什么时候打破的。截至2019年9月12日,它仍然可以在我过时的Chromium Portable 55.0.2883.11中工作,但它在Opera 63.0.3368.71和Chrome 76.0.3809.132 (Windows和Android)中被打破了。

经过一些尝试和错误,我最终用下面的替代品,它可以在所有这些浏览器的当前版本中工作:

br.big {display:block; content:""; margin-top:0.5em; line-height:190%; vertical-align:top;}

注:

line-height:190%适用于所有浏览器,除了最新版本的基于chrome的浏览器。

vertical-align:top是IE和Edge所需要的(结合line-height:190%),以获得额外的空间在前一行之后,在它属于的地方,而不是部分在前部分在后。

display:block;content:"";margin-top:0.5em适用于Chrome、Opera和Firefox,但不适用于Edge和IE。

另一种(更简单的)方法是在<br>标记之后添加一些额外的垂直空间,如果您不介意编辑HTML,可以使用类似这样的方法。它在所有浏览器中都能正常工作:

<span style="vertical-align:-37%"> </span><br>

(当然,您可以根据需要调整“-37%”,以增大或减小差距。)下面是一个演示页面,其中包括主题的一些其他变体:

https://burtonsys.com/a_little_extra_vertical_space_for_br_tag.html



2020年5月28日:

我已经更新了演示页面;它现在演示了上述所有技术:

https://burtonsys.com/a_little_extra_vertical_space_for_br_tag.html

使用< div >

<div>Content 1</div>Content 2

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

这就变成了

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