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 /
For - use –
看起来 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, '/').replace(/-/g, '-');
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;
。
为什么 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 /
For - use –
看起来 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, '/').replace(/-/g, '-');
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;
。