似乎将“连字符”设置为“自动”现在比“空白:nowrap”具有更高的优先级。在以前版本的 Chrome(Mac 中的 54 之前)和其他浏览器(FF、Safari、IE)中,似乎“空白:nowrap”的出价高于连字符。因此,如果您指定 white-space: nowrap 和 text-overflow: ellipsis,您会看到无论连字符设置如何,文本都会被省略号截断。
从 55.0.2883.95(Mac 版)开始,似乎连字符:auto 即使指定了 white-space: nowrap 也会进行换行。我同意同时指定连字符和 nowrap 听起来很愚蠢。但由于这是一种“新”行为,我想确认这是一个错误还是预期的行为。
我创建了一个简单的小提琴来测试这个问题,以比较其他浏览器的行为。
div {
width: 75px;
border: 1px solid black;
}
div.testCls {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
}
<div lang="en" class="testCls">Anextremely long English word</div>
截图: