仅在必要时对文本进行连字以防止容器溢出

Hyphenate text only when necessary to prevent container overflow

我只想在单词比容器宽时才在单词中插入连字符。

如果我使用 ­ 会发生这种情况:

For exam-|
ple      |

当我真的想要这个时:

For      |
example  |

对于狭窄的容器,我想要这个:

For |
exa-|
mple|

word-wrap: break-word; 给出了所需的行为,但没有连字符。

For |
exam|
ple |

根据我的研究,目前 CSS 似乎无法做到这一点。

解决方案:

如果你在带有 &shy 字符的单词周围放置一个 <span>display: inline-block,它将阻止它跨行,直到它必须

查看 css 的 "word-wrap" 属性 (http://www.w3schools.com/cssref/css3_pr_word-wrap.asp),

word-wrap: break-word;

应该做。

如果你在带有 &shy; 字符的单词周围放置一个 <span>display: inline-block,它将阻止它跨行,直到它必须