如何限制表格列宽?

nig*_*der 62 html css internet-explorer css-tables

我表中的一列可以包含没有空格的长文本.如何将宽度限制为150px?我不希望它总是150px(如果它是空的它应该是窄的),但是如果有一个长文本我希望它被限制为150px和要包装的文本.

这是一个测试示例:http://jsfiddle.net/Kh378/(让我们限制第3列).

先感谢您.

更新:
设置此样式:

word-wrap: break-word;
max-width: 150px;
Run Code Online (Sandbox Code Playgroud)

在IE8中不起作用(在不同的计算机上测试),我想它在任何版本的IE中都不起作用.

Bra*_*don 60

更新

在桌子上tdth标签上我添加了:

word-wrap: break-word;
max-width: 150px;
Run Code Online (Sandbox Code Playgroud)

在每个浏览器中都不完全兼容,但一开始.

  • 这可以作为百分比来完成吗,因为它只在我结束时作为 px 生效...... (2认同)

isN*_*247 6

您应该能够使用以下样式设置您的列:

max-width: 150px; 
word-wrap: break-word;
Run Code Online (Sandbox Code Playgroud)

请注意,word-wrap它在 IE 5.5+、Firefox 3.5+ 和 WebKit 浏览器(Chrome 和 Safari)中受支持。


Car*_*edo 6

你需要使用宽度.

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>                
            <th style="width: 150px;"></th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

但只是在这一<thead>节.

  • 如果没有 `&lt;thead&gt;` 部分怎么办? (2认同)

use*_*656 5

在 Chrome 中进行了一些实验后,我得出了以下结论:

  • 如果你的表有一个<th>应该有“宽度”或“最大宽度”集
  • 所述<td>的必须设置‘最大宽度’和‘自动换行:断字;’

如果您在<th>其值中使用“宽度”,则将使用该值。如果您<th><td>'s的“max-width”值中使用“max-width”,则使用该值。

所以这个功能相当复杂。而且我什至没有研究没有标题或没有需要“断字”的长字符串的表格。