我希望表格的宽度为100%,但只有一列应具有自由宽度,例如:
| A | B | C |
因此A和B列的宽度应与其内容的宽度相匹配,但C的宽度应该一直持续到表结束。
好的我可以用像素指定A和B的宽度,但问题是这些列的内容宽度不固定,所以如果我设置一个固定的宽度,它将完全不匹配内容: (
PS:我没有使用实际的表项,而是包含在div中的DL列表。 div有display:table,dl有display:table-row,dt / dd display:table-cell ...
答案 0 :(得分:25)
如果我理解你,你有表格数据,但你想使用div
元素在浏览器中显示它(AFAIK表和带显示的div:表的行为大致相同)。
(这是一个有效的jsfiddle:http://jsfiddle.net/roimergarcia/CWKRA/)
标记:
<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>
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 */
}
可悲的是,一年前,当我真的需要它时,我无法做到这一点-_-!