【发布时间】:2012-06-07 17:40:30
【问题描述】:
我有一个正在生成的网页,其中有一个带有绿色背景的 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>
我已经尝试过但没有奏效的方法:
- 元素包含单个
和单个 ,其中 上的 colspan 设置为表中的列数。这适用于较少数量的列,但对于较大的表格(例如,使用 colspan="6000"),某些浏览器(特别是 Firefox 11)会将单元格(及其背景)呈现为仅占用一列。 - 一个 元素,包含一个
和一个 ,其中 colspan="2" 以及为 元素设置的 background-color CSS 属性。使用 Firefox 的 Inspect Element 功能,它显示 跨越了表格的整个宽度,但背景仅应用于一个单元格。 - 一个 元素,包含一个
和一个 ,其中 colspan="2" 和另一个 ,用于表的每个剩余列。我试图消除 上单元格之间的分隔,但我无法做到。 我的问题是:有没有办法实现让绿色条至少延伸整个表格宽度的效果,如果有,它是什么?当我为表格生成 HTML 时,我宁愿不使用 JavaScript 或生成样式代码。
【问题讨论】:
- 一个 元素,包含一个