在我们的网站上有包含数据的表格。我们喜欢使用普通table
获得的列宽,但是我们喜欢使用td
s的边框底部来拉伸整个页面的宽度,就像使用css:table { width:100% }
一样,可以在demo table widths page中看到,它呈现如下:
在边框底部延伸整个宽度的表中,是否可以实现与普通(非宽度-100%)表相同的列宽?
不,td { white-space: nowrap }
与一个额外的width: 100%
td
(见上面的链接)结合起来是不好的,因为有时候td
s很长,所以我们希望td
s完全像在一个普通的表中那样包装。
我们需要一个至少在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;
}