Rather than using table-layout: fixed;
for your table, you can use this trick to get a DIV to always take up the full space of a TD with text-overflow: ellipsis;
functionality:
div { width: 0; min-width: 100%; }
The main trick is giving the width something other than auto/percent, and using a min-width of 100%;
div { width: 0; min-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
table.myTable { width: 100%; border-collapse: collapse; }
td { border: 1px solid #000; }
td.td1 { width: 100%; min-width: 50px; }
td.td2 { width: 100px; min-width: 100px; }
td.td3 { width: 150px; min-width: 150px; }
td.td4 { width: 50%; min-width: 50px; }
td.td5 { width: 50%; min-width: 50px; }
td.td6 { width: 150px; min-width: 150px; }
The table can be fluid sized or fixed width. Just give some min-widths for contents as needed.
Very very very long text Very very very long text Very very very long text Very very very long text |
Content 2 |
Content 3 also so very lonnnnngggg |
Very very very long text Very very very long text Very very very long text Very very very long text |
Content 2 has very very very many texts in a very very very long way |
Content 3 |
JSfiddle