1

我有一大段文本,它是 td 中的一个文件路径,当我想适应 200 像素时,它会导致整个东西的宽度为 600+像素。

我可以启用 word-break:break-all 并让它显示整个字符之间的中断,但随后它将文件夹名称减半。

所以,理想情况下,我只想在 '/' 或 '\' 字符上换行。那可能吗?

谢谢!

4

3 回答 3

1

不,你不能;目前没有用于此类目的的 CSS 构造。

您可以做的建议允许的换行点是在每个“/”或“\”之后使用<wbr>标记零宽度空格。您可以使用 JavaScript 动态地执行此操作,遍历相关的文本节点。

于 2013-10-15T15:59:21.010 回答
0

我不认为你可以单独使用 CSS 来做到这一点。但这里有一种使用 JQuery 的方法:

function (yourObject) {
    yourObject.html(yourObject.html()
                              .replace(///g, '<br>')
                              .replace(/\/g, '<br>'));
}

这是假设您的对象中不包含 html。如果是这样,它将替换斜杠,因此您需要检查斜杠后面的 >。

于 2013-10-15T14:50:48.587 回答
0

更好的解决方案可能是将长文本包装在允许滚动的容器元素中,就像 StackOverflow 对代码块所做的那样:

.longtext {
    width: 100%;
    display: block;
    word-break: none;
    overflow: auto;
    background: #eee;
}

http://jsfiddle.net/mblase75/NCNSa/

于 2013-10-15T15:14:28.763 回答