Html ie中的CSS固定标题表

Html ie中的CSS固定标题表,html,css,Html,Css,有人能帮我在一个表上只使用css(没有js)创建固定的标题吗。它需要支持动态数据,因为列大小来自数据库。只需要在ie7/8中工作。干杯听起来像是你在试图创建一个表格,在这个表格中你可以滚动身体部位,使第一行(标题)不移动。这可以通过一个表的标题行来实现,第二个表放在-注意,除非使用JavaScript,否则这只适用于固定宽度的列 如果这不是你想要达到的目标,请忽略这篇文章。所以这就是我的想法: <table> <thead> <tr>

有人能帮我在一个表上只使用css(没有js)创建固定的标题吗。它需要支持动态数据,因为列大小来自数据库。只需要在ie7/8中工作。干杯

听起来像是你在试图创建一个表格,在这个表格中你可以滚动身体部位,使第一行(标题)不移动。这可以通过一个表的标题行来实现,第二个表放在
-注意,除非使用JavaScript,否则这只适用于固定宽度的列


如果这不是你想要达到的目标,请忽略这篇文章。

所以这就是我的想法:

<table>
    <thead>
        <tr>
            <th>Value</th>
        </tr>
    </thead>
    <tbody>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        <tr><td>1</td></tr>
        </tr>
    </tbody>
</table>

tbody {
    max-height:100px;
    overflow:auto;
    position:absolute;
}
tr td:last-child { /* do horizontal scrollbar useless */
    padding-right:1em;
}

价值
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
1.
t车身{
最大高度:100px;
溢出:自动;
位置:绝对位置;
}
tr td:last child{/*do水平滚动条无用*/
右侧填充:1em;
}

编辑:raaah它适用于IE8,但不适用于IE7(使用IE9测试版测试),似乎IE7将高度规则应用于
元素

如果你决定使用JS(我很确定这在纯CSS中是不可能的),你可以试试我的。见a。它是跨浏览器的,并针对性能进行了优化。

您可以使用两个表,而不是@MatTheCat:您可以演示如何将
thead
保持在固定位置吗?嗨,Kolink,是的,这是我试图实现的,但是列的宽度不是固定的,我不希望使用任何javascriptFound,您只需为、position:absolute和overflow:auto设置显式高度。尽管这是一个严重的缺陷,但您可以使用两个内容相同的表,即ad和tbody。将一个“头部”的主体设置为
display:none
,将另一个置于滚动div中(如您所建议的),然后在AD上设置
display:none
。这样,两个表中的内容将保持列宽相同。(我这么做已经有一段时间了;可能你需要
可见性:隐藏
,以确保在调整大小时包含项目。)我尝试在tbody上设置溢出,但似乎在IE8中不起作用你有IE8的真实版本吗?我想你是指非测试版,那么yesIE9只能模仿IE8中的这么多错误…;-)如果你建议IE*的解决方案,你最好用那个确切的版本试试。可能还包括所有的服务包。以及在不同版本的Windows上。