I want the table to have 100% width, but only one column from it should have a free width, like:
| A | B | C
If I understood you, you have tabular data but you want to present it in the browser using div
elements (AFAIK tables and divs with display:table behaves mostly the same).
(here is a working jsfiddle: http://jsfiddle.net/roimergarcia/CWKRA/)
The markup:
<div class='theTable'>
<div class='theRow'>
<div class='theCell' >first</div>
<div class='theCell' >test</div>
<div class='theCell bigCell'>this is long</div>
</div>
<div class='theRow'>
<div class='theCell'>2nd</div>
<div class='theCell'>more test</div>
<div class='theCell'>it is still long</div>
</div>
</div>
And the CSS:
.theTable{
display:table;
width:95%; /* or whatever width for your table*/
}
.theRow{display:table-row}
.theCell{
display:table-cell;
padding: 0px 2px; /* just some padding, if needed*/
white-space: pre; /* this will avoid line breaks*/
}
.bigCell{
width:100%; /* this will shrink other cells */
}
The sad part is I couldn't do this one year ago, when I really needed it -_-!