我有一个正在生成的网页,其中有一个带有绿色背景的 h2 标记了一个表格。表格可以有任意数量的列,我希望 h2 元素水平延伸到用户可以滚动的范围内,以便表格上方始终有一个绿色条。我想要达到的效果是一个至少跨越表格宽度的绿色条,因此无论用户滚动多远,它始终位于表格的正上方。
这是它目前的样子(红色轮廓大致显示了包含 html、body 和 div 元素的边缘): 以下是相关的代码片段:
CSS:
h2 {
font-family:Arial;
font-size:20pt;
color:#FFFFFF;
text-align:left;
font-weight:normal;
background-color:#00693C;
clear: both;
padding:2px;
margin: 0px;
}
table.response {
border:1px outset;
border-collapse: separate;
}
table.response td {
font-size: 14px;
padding: 3px;
border:1px inset;
}
html:
<h2>[snip]</h2>
<table class="response">
<tbody>
<tr>
<td>[snip]</td>
[...]
</tr>
[...]
</tbody>
</table>
我已经尝试过但没有奏效的事情:
- <thead> 元素包含单个 <tr> 和单个 <th>,其中 <th> 上的 colspan 设置为表中的列数。这适用于较少的列数,但对于较大的表(例如,colspan="6000"),某些浏览器(特别是 Firefox 11)将单元格(及其背景)呈现为仅占用一列。
- <thead> 元素包含一个 <tr> 和一个 <th>,其中 colspan="2" 以及为 <tr> 元素设置的 background-color CSS 属性。使用 Firefox 的 Inspect Element 功能,它显示 <tr> 跨越了表格的整个宽度,但背景仅应用于一个单元格。
- <thead> 元素包含一个 <tr> 和一个 <th>,其中 colspan="2" 和另一个 <th>,用于表的每个剩余列。我试图消除 <thead> 上单元格之间的分隔,但我无法做到。
我的问题是:有没有办法实现让绿色条至少延伸整个表格宽度的效果,如果是这样,它是什么?当我为表格生成 HTML 时,我宁愿不使用 JavaScript 或生成样式代码。