IE不允许设置tbody高度

时间:2012-11-29 17:38:24

标签: javascript jquery html css internet-explorer

我有以下几乎是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;
}

2 个答案:

答案 0 :(得分:4)

看起来IE只是一个问题,不尊重tbody(或表格)height css属性。我不能为我的生活设计IE中的表格或tbody元素的高度。您可以在this answer中看到,最后一条评论提到它不适用于IE。

答案 1 :(得分:1)

设置ein元素的css高度你应该使用css-function。高度函数应该用来做数学的东西。

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

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

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

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