无论内容如何,​​强制表格列的宽度始终是固定的

我有一个与table-layout: fixed的HTML表table-layout: fixed和设置宽度的TD。 该列仍然展开以保存不包含空格的文本内容。 有没有办法解决这个问题,而不是把每个td的内容包装在一个div中?

例如: http : //jsfiddle.net/6p9K3/29/

 <table> <tbody> <tr> <td style="width: 50px;">Test</td> <td>Testing 1123455</td> </tr><tr> <td style="width: 50px;">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td> <td>B</td> </tr> </tbody> </table> table { table-layout: fixed; } td { border: 1px solid green; overflow: hidden; } 

在该示例中,您可以看到,具有AAAAAAAAAAAA …的列尽pipe被明确设置为50px宽,仍然展开。

指定表格的宽度:

 table { table-layout: fixed; width: 100px; } 

见jsFiddle

试着看看下面的CSS:

 word-wrap:break-word; 

Web浏览器不应该默认分解“单词”,所以你所遇到的是浏览器的正常行为。 但是,你可以用单词的CSS指令覆盖这个。

您需要在整个表格上设置宽度,然后在列上设置宽度。 “宽度:100%;” 也应根据您的要求确定。

使用自动换行可能不是你想要的,但是对于显示所有数据而不使布局变形是有用的。

使桌子坚如磐石之前的CSS。 图表的宽度,然后使用一个“控制”行,每个td都有一个明确的宽度,所有这些都加起来,在表标签的宽度。

必须做数以百计的html电子邮件才能在任何地方工作,首先使用正确的HTML,然后在所有IE,webkit和mozillas中使用w / css样式将解决许多问题。

所以:

 <table width="300" cellspacing="0" cellpadding="0"> <tr> <td width="50"></td> <td width="100"></td> <td width="150"></td> </tr> <tr> <td>your stuff</td> <td>your stuff</td> <td>your stuff</td> </tr> </table> 

将保持300px宽的桌子。 观看比极端宽度大的图像

你可以添加一个divtd ,然后是style。 它应该像你期望的那样工作。

 <td><div>AAAAAAAAAAAAAAAAAAA</div></td> 

然后css。

 td div { width: 50px; overflow: hidden; } 

您也可以使用“overflow:hidden”或“overflow-x:hidden”(仅限于宽度)。 这需要一个定义的宽度(和/或高度?),也可能是“display:block”。

“溢出:隐藏”隐藏了整个内容,不符合定义的框。

例:

http://jsfiddle.net/NAJvp/

HTML:

 <table border="1"> <tr> <td><div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div></td> <td>bbb</td> <td>cccc</td> </tr> </table> 

CSS:

 td div { width: 100px; overflow-y: hidden; } 

编辑:耻辱对我来说,我已经看到,你已经使用“溢出”。 我猜这是行不通的,因为你没有为你的元素设置“display:block”…

我会尝试将其设置为最大宽度:50px;