CSS中音节的换行



CSS有一个word-break属性,允许字跨行分割在某些点上(例如在第一个超出预期长度的任意字符处)。但是,令我惊讶的是,似乎没有任何CSS机制(即使是支持较差的机制)可以按音节在中拆分单词。,如传统印刷书籍:

…那首赞美诗,裘德在他从未想过的多神教幻想的影响下重复着……

我意识到
(I)这在计算机上并不经常需要(因为我们可以动态地回流和对齐),并且
(ii)它将需要客户端上的连字符字典。
但它可能对特别长的单词有用(想想詹姆斯·乔伊斯!)或仅仅是复制印刷书籍的风格;既然我们在现代浏览器中已经有了拼写检查功能,我们没有理由不能使用连字符。

HTML有一个lang属性,所以我们通常可以推断出预期的语言;如果没有那本字典,我们可以"优雅地降级"。并以其他方式包装。

所以:有没有认真考虑过断音节CSS呢?还是被拒绝了?我们能期待在未来看到它的实现吗?

您正在寻找hyphens属性。你需要lang的HTML属性,使其工作(作为连字符是基于语言显然)。

浏览器可以在适当的时候自动断字连字符点,遵循它选择的任何规则。然而,建议换行的机会(参见建议换行)下面的机会)将覆盖自动断点选择当礼物。

注意:自动设置的行为取决于所使用的语言正确标记以选择适当的连字符规则。你必须使用lang HTML属性指定一种语言来保证这一点在该语言中应用自动连字符。

点击这里阅读更多

p {
float: left;
width: 250px;
margin: auto 20px;
border: solid 1px;
hyphens: auto
}
<p>The browser is free to automatically break words at appropriate hyphenation points, following whatever rules it chooses. However, suggested line break opportunities (see Suggesting line break opportunities below) will override automatic break point selection
when present.</p>
<p lang="en">The browser is free to automatically break words at appropriate hyphenation points, following whatever rules it chooses. However, suggested line break opportunities (see Suggesting line break opportunities below) will override automatic break point selection
when present.</p>

:lang()伪类也有一定关系。

最新更新