我想要的表格宽度为100%,但只有一列应该有一个空格,如:
| A | B | C |
所以A和B列的宽度应与其内容的宽度相匹配,但C的宽度应该继续,直到表结束。
好的,我可以指定A和B的宽度(以像素为单位),但是问题是这些列的内容的宽度不是固定的,所以如果我设置了一个固定的宽度,它将不完全匹配内容:(
PS:我没有使用实际的表项,而是包含在div中的DL列表。 div有显示:table,dl有显示:table-row和dt / dd显示:table-cell …
解决方法
如果我理解你,你有表格数据,但是你想在浏览器中使用div元素(AFAIK表和带有display:table的表格大致相同)表示。
(这里是一个工作的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 */ }
可悲的是,一年前我无法做到这一点,当时真的需要它-_-!