0

我有以下内容,主要是 css 可滚动表。在 Chrome 和 Firefox 中效果很好,但它不会在 IE 9 中设置 tbody 元素的高度。有什么想法吗?

http://jsfiddle.net/BvPNK/3/

function scrollify(table,height){

   table.find('thead').addClass('fixed_header');
   table.find('tbody').addClass('scroll_content').height(height);
   $('<div/>').addClass('table_wrap').appendTo(table.parent()).append(table);

} 

css

.fixed_header th,tbody.scroll_content td{
   display:block;
   float:left;
   width:3em;/*this is dynamically set in full function*/
}
.table_wrap{
    float:left;
}
.fixed_header tr{
     position:relative;

}
.scroll_content{
    display:block;
    overflow-y:scroll;
    overflow-x:show;
}
4

2 回答 2

4

看来这只是 IE 不尊重 tbody (或表)heightcss 属性的问题。我一辈子都无法为 IE 中的 table 或 tbody 元素设置高度。您可以在这个答案中看到,最后一条评论提到它不适用于 IE。

于 2012-11-29T18:42:23.420 回答
1

要设置 ein 元素的 css 高度,您应该使用 css 函数。高度函数应该用来做数学的东西。

你在第二小提琴中做对了。如果你这样做,你应该用一个字符串作为参数调用你的函数,你的单位:

scrollify($('table'), "300px");

编辑:高度和ie9似乎确实存在问题。innerHeight 虽然应该工作。

我更新了小提琴:http: //jsfiddle.net/BvPNK/10/

于 2012-11-29T18:13:45.093 回答