固定表頭(利用CSS3)


<html>


<head>
    <link data-require="bootstrap@*" data-semver="3.3.7" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
    <style>
        *{ margin: 0; padding: 0; list-style: none;}
        .box {
            width: 300px;
            height: 300px;
            margin: 50px auto 0;
            overflow: auto;
        }
        .box table{
            width: 100%;
            border-collapse: collapse;
            border-right: 1px solid #ccc;
            border-top: 1px solid #ccc;
            text-align: center;
        }
        .box table thead {
            background-color: #ccc;
        }
        .box table th,
        .box table td {
            padding: 8px 10px;
            border-left: 1px solid #ccc;
            border-bottom: 1px solid #ccc;
            white-space: nowrap;
        }
    </style>
</head>


<body>
<div class="box">
    <table>
        <thead>
        <tr>
            <th>1</th>
            <th>2</th>
            <th>3</th>
            <th>4</th>
            <th>5</th>
            <th>6</th>
            <th>7</th>
            <th>8</th>
            <th>9</th>
            <th>10</th>
            <th>11</th>
            <th>12</th>
            <th>13</th>
            <th>14</th>
            <th>15</th>
        </tr>
        </thead>
        <tbody>
        <script>
            var tr = '';
            for(var i=0; i<15; i++) {
                tr += '<tr>\
                        <td>'+i+'<span>哈哈哈哈哈哈哈哈</span></td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                        <td>'+i+'</td>\
                    </tr>';
            }
            document.write(tr);
        </script>
        </tbody>
    </table>
</div>
<script>
    window.onload = function() {
        var $ = document.querySelector.bind(document);
        var boxEle = $('.box');
        boxEle.addEventListener('scroll', function(e) {
            this.querySelector('thead').style.transform = 'translate(0, '+this.scrollTop+'px)';
        });
    }
</script>
</body>


</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章