【问题标题】:What's up with the style "word-break: break-word"?样式“word-break: break-word”是怎么回事?
【发布时间】:2019-02-10 18:20:42
【问题描述】:

this questionthis blog 中,提到了样式word-break 及其值。此外,还有价值 break-word 作为属于例如的东西。 自动换行类。

在最近的 VS 中的 MVC 模板中,我找到了 word-break: break-word 组合(嗯,Resharper 确实找到了)。现在我很好奇它是否是一个有效的组合(我在搜索时找不到)或者它是否是一个无效的 CSS 语法(在这种情况下,我想知道为什么 MS 把它放在那里以及它背后的故事是什么)。

【问题讨论】:

标签: css


【解决方案1】:

关于这个主题还有其他问题,例如 this one 有很多很好的答案,但信息量可能会分散基本问题的注意力,word-break 的不同值有什么作用 .所以这里是那个问题的答案,而且只是那个问题。

如果你拿着这个sn-p

body {
  max-width: 15em;
  box-shadow: green 0 0 8px;
  word-break: normal;
}
Some short words, somewhatlongerwords and extremelylongwordsthatarereallylong for testing purposes.

使用默认值normal,不断字;使用普通的自动换行,最长的单词溢出开箱即用。截图:


break-all 打断行尾的所有单词,无论它们是否适合下一行。


keep-all 用于 CJK(中文、日文和韩文)单词,它们之间通常没有空格。
纯英文文本,和normal没有区别。

(如果您有兴趣,this MDN article 提供了一个带有日语文本的示例,您可以在其中看到不同之处。)


break-word 会分解那些不适合框的单词。这与break-all 不同,后者无论如何都会破坏所有单词。

现在最后一个是非标准的,它并不适用于所有浏览器,所以如果你想要这个,你也应该在你的样式表中写overflow-wrap: break-word;,并且为了与旧浏览器兼容word-wrap: break-word; .

还有更多内容,但我会向您推荐 this question 以了解推理、历史等。

【讨论】:

  • 在使用 MS 的默认 IDE 时,在 MS 浏览器上运行的 MS 的默认模板会将该语法标记为错误,这有点令人讨厌和惊讶。我对此并不高兴。不过,+1 是一个很棒的答案。我对此感到非常高兴。
【解决方案2】:

分词 - 如果单词超出宽度,则将其分到下一行。 您可以在浏览器中检查 css 是否正常工作。

caniuse.com

【讨论】:

    猜你喜欢
    • 2016-05-17
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多