我有一大段文本,它是 td 中的一个文件路径,当我想适应 200 像素时,它会导致整个东西的宽度为 600+像素。
我可以启用 word-break:break-all 并让它显示整个字符之间的中断,但随后它将文件夹名称减半。
所以,理想情况下,我只想在 '/' 或 '\' 字符上换行。那可能吗?
谢谢!
我有一大段文本,它是 td 中的一个文件路径,当我想适应 200 像素时,它会导致整个东西的宽度为 600+像素。
我可以启用 word-break:break-all 并让它显示整个字符之间的中断,但随后它将文件夹名称减半。
所以,理想情况下,我只想在 '/' 或 '\' 字符上换行。那可能吗?
谢谢!
不,你不能;目前没有用于此类目的的 CSS 构造。
您可以做的建议允许的换行点是在每个“/”或“\”之后使用<wbr>
标记或零宽度空格。您可以使用 JavaScript 动态地执行此操作,遍历相关的文本节点。
我不认为你可以单独使用 CSS 来做到这一点。但这里有一种使用 JQuery 的方法:
function (yourObject) {
yourObject.html(yourObject.html()
.replace(///g, '<br>')
.replace(/\/g, '<br>'));
}
这是假设您的对象中不包含 html。如果是这样,它将替换斜杠,因此您需要检查斜杠后面的 >。
更好的解决方案可能是将长文本包装在允许滚动的容器元素中,就像 StackOverflow 对代码块所做的那样:
.longtext {
width: 100%;
display: block;
word-break: none;
overflow: auto;
background: #eee;
}