据我所知,word-wrap: break-word;无法在表中使用,除非您还使用table-layout:fixed。
我不完全明白你的要求。你说你希望一个单元格根据它的内容占用width,相应地拉伸并尽可能地溢出。 这就是表格所做的事情。它是表的默认行为。唯一不适用的情况是,当你有一个非常长的单词并且没有空白时。无论如何,这将导致表扩展。我知道奇怪的行为。
如果您有后一种情况,则必须使用固定宽度表。请看以下示例:
Test | Test Test Test Test Test Test Test Test Test | TestTestTestTestTestTestTestTestTestTestTest | Test Test Test Test Test Test Test Test Test |
请注意,由于中间列,table将容纳所需的所有房间。现在,将表格标记更改为以下内容:
现在,表格将是250px,但中间列将溢出到下一个单元格(有点疯狂,我知道)。现在,我们可以使用word-wrap:break-word进行中间列包装。将此添加到表声明将创建预期输出。
更新强>
所以,我认为这不可能用CSS。问题是,您希望表格与最宽的列一样宽,但单元格X除外。要在table中执行此操作,我们可以编写一些jQuery来计算表的宽度:
(注意我在添加了
以获取内容的实际宽度。这可以替代其他元素。$(function() {
var widths = $('table td').map(function() {
return $("span", this).width();
}).get();
var biggest = Math.max.apply(Math, widths);
$("table").width(biggest + "px");
});
Test Test Test Test |
Test Test Test Test Test Test Test Test Test |
Test Test Test Test Test Test |