在我们的网站上有包含数据的表格。我们喜欢使用普通table获得的列宽,但是我们喜欢使用tds的边框底部来拉伸整个页面的宽度,就像使用css:table { width:100% }一样,可以在demo table widths page中看到,它呈现如下:
在边框底部延伸整个宽度的表中,是否可以实现与普通(非宽度-100%)表相同的列宽?
不,td { white-space: nowrap }与一个额外的width: 100%td(见上面的链接)结合起来是不好的,因为有时候tds很长,所以我们希望tds完全像在一个普通的表中那样包装。
我们需要一个至少在ie6-8+ff中工作的解决方案。
顺便问一下,有没有比链接到外部页面更好的方法(tm)来显示html片段?我可以只显示源代码,但是呈现html也是很有说明性的。
这篇文章最初是在Webmasters上发表的,但根据那里的建议,我现在(重新)在这里发表。

最佳答案

我终于明白了。
我最初的几次尝试是处理浮动<td>s和<tr>s,但显然我走的是正确的轨道,但有错误的元素。
我想你要做的是浮动<tbody><table>仍将是100%宽度,因此它将拉伸整个页面的宽度,但其内部的<tbody>将充当其他所有内容的容器,并且将其从其<table>容器宽度大小的桎梏中释放出来。
这样做的缺点是,您将无法使用<thead><tfoot>元素,因为您将无法再将它们与<tbody>内容对齐。
试试这个:

table {
  width: 100%;
  border: 1px #000 solid;
}

tbody {
  float: left;
}

td {
  border: 1px #000 solid;
}

10-04 22:08
查看更多