Just for the sake of correctness, I updated the solution proposed by @redDevil to adhere to modern web standards :
Markup
<table> <tbody> <tr> <td class="a">COL A</td> <td class="a">COL B</td> <td class="a">COL C</td> <td class="a">COL D</td> <td class="a">COL E</td> <td class="a">COL F</td> <td class="a">COL G</td> <td class="b">LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG</td> </tr> </tbody> </table>
Styles
table { width: 100%; table-layout: fixed; } td { border: 1px solid #35f; overflow: hidden; text-overflow: ellipsis; } td.a { width: 13%; white-space: nowrap; } td.b { width: 9%; word-wrap: break-word; }
Live
Here's a demo on jsFiddle
Note:
- Most of the solution sets
table-layout: fixed;
in the table element. - The other part - you know this - provides a long
word-wrap: break-word;
cell word-wrap: break-word;
and removes the overflow: hidden;
rules overflow: hidden;
.
source share