overflow-wrap
/word-wrap
和word-break
的确切区别是什么?
有没有人能告诉我哪一个更适合打破非常长的链接?大多数人说你应该结合使用overflow-wrap
和word-break
,但这看起来不太合理。我认为使用overflow-wrap
结合word-wrap
以获得更好的跨浏览器支持是最好的方法。你怎么看?
overflow-wrap
/word-wrap
和word-break
的确切区别是什么?
有没有人能告诉我哪一个更适合打破非常长的链接?大多数人说你应该结合使用overflow-wrap
和word-break
,但这看起来不太合理。我认为使用overflow-wrap
结合word-wrap
以获得更好的跨浏览器支持是最好的方法。你怎么看?
摘自来源
overflow-wrap:overflow-wrap CSS 属性用于指定在包含框无法容纳否则不可分割的字符串时,浏览器是否可以在单词内部断开行以防止溢出。
word-wrap:CSS3 中的 word-wrap 属性已更名为 overflow-wrap。
word-break:word-break CSS 属性用于指定如何(或是否)在单词内部断开行。
因此,您需要将 word-break 与 word-wrap 结合使用,这是正确的组合。
overflow-wrap
和word-break
之间的区别。 - john c. j.word-wrap
和word-break
是完全相同的东西。 - cbdeveloperword-break: break-word
实际上是overflow-wrap: anywhere
的别名是有帮助的。word-break: break-word
已经正式弃用,可以参考CSS Text Module Level 3 Working Draft:word-break
属性还支持废弃的break-word
关键字。当指定时,无论overflow-wrap
属性的实际值如何,都会产生与word-break: normal
和overflow-wrap: anywhere
相同的效果。”word-break: break-word
是overflow-wrap: anywhere
的别名,而不是overflow-wrap: break-word
的别名。word-break: normal
只是word-break
的默认值,因此您可以忽略它,除非您要为word-break
设置不同的值。)overflow-wrap: anywhere
和overflow-wrap: break-word
有什么区别呢?overflow-wrap: anywhere
在“计算最小内容内在大小”时考虑了单词断点引入的软换行机会,而overflow-wrap: break-word
则没有考虑。break-word
:在容器内适合的最后一个单词结束时断开行[如果存在],否则在容器的末尾断开行[如果在非弹性容器中],否则留下未被断开的行。anywhere
: 在容器内适合的最后一个单词结束时断开行[如果存在],否则在容器的末尾断开行[因此与 word-break: break-word
相同]。
请注意,在使用overflow-wrap: break-word
(以及任何导致行超出容器的组合)时,未断开的行可能会导致弹性容器扩展超出指定的弹性比率(迫使其他弹性容器缩小以解决过长的内容)。
我尝试了所有的值以更好地理解它们如何影响最终结果,这是我得到的:
overflow-wrap
(例如word-wrap
):
/*Set dimensions*/
div {
height: 200px;
width: min-content;
max-width: 9em;
}
/*Set overflow-wrap*/
div#normal { overflow-wrap:normal; }
div#break-word { overflow-wrap:break-word; }
div#anywhere { overflow-wrap:anywhere; }
div#anywhere-wo-mincontent { overflow-wrap:anywhere; width: unset; }
/*Set other*/
body { display: flex; }
div { border: 1px solid; display: inline-block; margin: 30px; }
code { text-decoration: underline; }
<div id=normal><code>overflow-wrap:normal</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=break-word><code>overflow-wrap:break-word</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=anywhere><code>overflow-wrap:anywhere</code><br>Most words are short. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=anywhere-wo-mincontent><code>overflow-wrap:anywhere</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
/*Set dimensions*/
div {
height: 200px;
width: min-content;
max-width: 9em;
}
/*Set overflow-wrap*/
div#normal { word-break:normal; }
div#break-all { word-break: break-all; }
div#break-all-wo-mincont { word-break: break-all; width: unset; }
div#keep-all { word-break: keep-all; }
div#break-word { word-break: break-word; }
div#break-word-wo-mincont { word-break: break-word; width: unset; }
/*Set other*/
body { display: flex; }
div { border: 1px solid; display: inline-block; margin: 30px; }
code { text-decoration: underline; }
<div id=normal><code>word-break:normal</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=break-all><code>word-break:break-all</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=break-all-wo-mincont><code>word-break:break-all</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=keep-all><code>word-break:keep-all</code><br>Most words are short. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=break-word><code>word-break:break-word</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
<div id=break-word-wo-mincont><code>word-break:break-word</code><br>Most words are short & don't need to break. But Antidisestablishmentarianism is long.
グレートブリテンおよび北アイルランド連合王国という言葉は本当に長い言葉</div>
结果:
我自己注意到:
word-break: break-all
width: min-content;
word-break: keep-all
: normal;
但适用于cjk。overflow-wrap: break-word
word-break: break-all
不合适时,例如Opera Mini,可以使用它。其他:
overflow-wrap: anywhere
width: min-content;
word-break: break-word
width: min-content;
overflow-wrap: normal
和word-break: normal
caniuse.com上的浏览器支持比较(2023年01月24日):
word-wrap
和word-break
。 - catamphetamineword-wrap
无关,而是关于word-break
。将其关闭为重复问题是没有意义的。 - Lone Learner