我有以下几乎是css可滚动表。在Chrome和Firefox中运行良好,但它不会在IE 9中设置tbody元素的高度。任何想法?
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;
}
答案 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/