我试图将文本换行成固定布局,但当文本包含斜杠时它不起作用。
可以在不从 Javascript(纯 CSS)插入空格的情况下解决这个问题吗?
jsfiddle:
Not working:
<div style="display:table; width:170px; background-color:cyan;">
<div style="display:table-row">
<div style="display:table-cell;word-wrap: break-word;">abfdbfdbfdb/dfbfdbdfbfbf/bdffbdbfdfbddfbdfbdfb</div>
<div style="display:table-cell; width:34px; background-color:red;">xxxxx</div>
</div>
</div>
</br>
Working:
<div style="display:table; width:170px; background-color:cyan;">
<div style="display:table-row">
<div style="display:table-cell;word-wrap: break-word;">abfdbfdbfdb dfbfdbdfbfbf bdffbdbfdfbddfbdfbdfb</div>
<div style="display:table-cell; width:34px; background-color:red;">xxxxx</div>
</div>
</div>
最佳答案
插入 <wbr>
标记或零宽度空格 ​
在每次出现斜杠或其他字符后,应将其视为允许在其后直接换行。这些备选方案之间的选择有点complicated , 但由于您的代码已经无法在旧版本的 IE 上运行,因此您也可以在这里忽略它们,这将使 ​
正确的选择。也就是说,你会写例如
abfdbfdbfdb/​dfbfdbdfbfbf/​bdffbdbfdfbddfbdfbdfb
问题出在 Angular 色层面,而不是样式问题。
不包含空白字符的字符串在换行时通常是不可分割的,应该是这样,除非您可以可靠地让浏览器在可接受的断点处断行或正确连字符并使用分词。类似 word-wrap: break-word
的设置用于特殊情况,当没有很好的方法控制包装并且需要避免溢出时紧急中断。
关于html - 表格单元格自动换行不适用于斜线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16277805/