1

我正在尝试制作一个带有固定列的表格,并且我正在遵循这个示例:

http://jsfiddle.net/emn13/YMvk9/

容器:

 div { 
            width: 600px; 
            overflow-x:scroll;  
            margin-left:5em; 
            overflow-y:visible;
            padding-bottom:1px;
        }

固定列:

.headcol {
            position:absolute; 
            width:5em; 
            left:0;
            top:auto;
            border-right: 0px none black; 
            border-top-width:3px; /*only relevant for first row*/
            margin-top:-3px; /*compensate for top border*/
        }

问题是如果容器有一个固定的高度,比如 100px,固定的列会保持它的默认高度而不附加到滚动条上。

4

1 回答 1

0

尝试添加一个额外的容器,您可以将其设置为相对定位。

div#container{
    position:relative;
    height:100px;
    overflow:scroll;
}

您可以在下面的示例中看到固定行与其余行垂直滚动。

http://jsfiddle.net/VRNsX/

如果你不反对一点 jQuery,这是我制定的另一种方法:

$('#tbl').scroll(function(e) {
    var self = this;
    $('.headcol').each(function() {
        $(this).css({
            'top': ($(this).index('.headcol') * $(this).outerHeight() + 3) - $(self).scrollTop()
        });
    });
});

http://jsfiddle.net/YMvk9/786/

于 2012-11-23T16:49:29.220 回答