在HTML中,有没有一种方法可以均匀地分布跨越多行的文本?
例如,我不希望:
例如,我不希望:
这里是一个非常长的标签,最后分成了两行。我更喜欢:
这里是一个非常长的标签 最后分成了两行。
Adobe建议添加一个新的CSS属性text-wrap: balance
。
与此同时,他们创建了一个名为balance-text的jQuery插件以实现相同的效果。
有点绕,但你可以使用不间断空格来表示最后几个单词:
<p>Here is some really long label that ends on two lines</p>
<br>
换行,例如<p>这里是一个非常长的标签<br>跨越两行结束</p>
。 - Óscar Gómez Alcañiz在纯HTML/CSS中,没有办法实现这一点,因为没有办法测量行的长度。
一种方法是使用JavaScript,但是当JavaScript计算行长度并相应地拆分时,您将遇到FOBUC。
避免这种情况的最佳方法是使用PHP/ASP/您正在使用的任何其他语言来拆分行。
这个 CSS 文本属性为标题提供了显著的好处。它被称为 text-wrap: balance
,你可以在这里看到它的实际使用案例。
请注意目前它的 浏览器支持 有限。
h2 {
font-size: 2rem;
text-align: center;
/* Balances the text across multiple lines */
text-wrap: balance;
}
<h2>Here is some really long label that ends up on two lines.</h2>
text-wrap: balance
正在开发中。 - Gajus