Firefox 从斜杠中打破单词

Firefox breaks word from slash

为什么 Firefox 将 /(斜杠)和 -(连字符)中的单词分成几行。

示例 /-

table {
  width: 100%;
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.

      </td>
    </tr>
  </tbody>
</table>


示例没有 /-

table {
  width: 100%;
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiametetblanditiisarchitectsundoloremqnullobcaecatnobilibermollitiasialiquiodiomagncommodi.
      </td>
    </tr>
  </tbody>
</table>

这两个示例在其他浏览器中都运行良好,我已经尝试 overflow-wrap 但没有成功。

我正在使用 Firefox 67.0 (64-bit)

请用Firefox打开。

您可能想尝试使用 HTML 正斜杠和破折号代码。

For / use &#47;
For - use &#8211;

更多信息在这里:https://www.ascii.cl/htmlcodes.htm

看起来 Mozilla 正在考虑将 /- 作为空白分隔符。经过小型研究后,我建议在将 /- 发送到 table 之前,使用其 html 等效代码转义。

更新
找到了另一个适用于 mozilla 的纯 CSS 解决方案

table {
  width: 100%;
}

table td { 
    word-break: keep-all; 
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.

      </td>
    </tr>
  </tbody>
</table>

这是一个小的 JS 代码段,它将 /- 转义为等效的 html 代码。

var str = 'Loremipsumdolorsitametconsectetura-dipisicingelitLaboredistinctionamdol-oresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.';

const escaped = str.replace(/\//g, '&#47;').replace(/-/g, '&#45;');

table {
  width: 100%;
}
table tr td {
    word-break: break-all;
}
<table>
  <tbody>
    <tr>
      <td>
        LoremipsumdolorsitametconsecteturadipisicingelitLaboredistinctionamdoloresmodiamet/etblanditiisarchitectsundolorem/qnullobcaecatnobilibermollitia/sialiquiodiomagncommodi.
      </td>
    </tr>
  </tbody>
</table>

只需将 word-break: keep-all; 添加到 CSS 中的 td,对我有用

如果你的想法是根本不打破这条线,那么你可以使用white-space: nowrap;