表单元宽度 – 固定宽度,包装/截断长词
我有一个包含不同长度文本的单元格的表格。 所有表格单元的宽度是相同的。 如果这意味着截断冗长的单词或者用长单词强行突破,那就没问题了。
我想不出有什么办法让这个工作。
这是用于内部客户端应用程序,因此只需要在IE6和IE7中工作。
下面是一个示例页面。 包含一个onereallylongword
长字的单元是违规的单元。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="text/css"> td { width: 30px; } </style> </head> <body> <table border="2"> <tr> <td>word</td> <td>two words</td> <td>onereallylongword</td> </tr> </table> </body> </html>
Stack Overflow通过使用DIV和overflow-x:auto
解决了长行代码的类似问题。 CSS不能为你分解单词。
只要你修改了表格本身的宽度并设置了table-layout属性,这很简单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="text/css"> td { width: 30px; overflow: hidden; } table { width : 90px; table-layout: fixed; } </style> </head> <body> <table border="2"> <tr> <td>word</td> <td>two words</td> <td>onereallylongword</td> </tr> </table> </body> </html>
我已经在IE6和7testing这个,它似乎工作正常。
如果你想在新行中正确包装长文本然后在你的表中ID调用使用CSS属性table-layout:fixed;
否则简单的CSS不能在新的行中打破长文本。
尝试这个:
text-overflow: ellipsis; overflow: hidden; white-space:nowrap;
我意识到你需要一个IE6 / 7的解决scheme,但我只是把它扔给其他人。
如果你不能使用table-layout: fixed
和你不关心IE <9这适用于所有的浏览器。
td { overflow-x: hidden; overflow-y: hidden; white-space: nowrap; max-width: 30px; }
<style type="text/css"> td { word-wrap: break-word;max-width:50px; } </style>
尝试td {background-color:white}
它只适用于我不想被前一列的长文本踩到的列。