使用layui流加载,CSS解决如何固定表头,以及解决表格表头和表格内容对不齐问题

本文介绍了如何在使用layui流加载时,通过CSS解决表格表头固定以及表头与内容对齐的问题。文章提供HTML、JS和CSS关键代码示例,帮助读者理解和实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上HTML部分的代码:

<table class="layui-table">
    <thead class="top-head">
    <tr>
        @for(var item in zkColumnDescs){
        @if(item.field != 'equipId'){
        <th class="thead-tr-width">${item.title}</th>
        <input type="hidden" value="${item.field}"/>
        @}
        @}
    </tr>
    </thead>
    <tbody id="LAY_demo1">
    </tbody>
</table>

接下来是JS部分:

layui.use('flow', function () {
    var flow = layui.flow;
    flow.load({
        elem: '#LAY_demo1' //流加载容器
        , scrollElem: '#LAY_demo1' //滚动条所在元素,一般不用填,此处只是演示需要。
        , done: function (page, next) { //执行下一页的回调
            var fields = [];
            $.each($("input[type='hidden']"), function (i, o) {
                fields.push($(o).val());
            });
            var lis = [];
            $.ajax({
                type: 'POST',
                url: '${ctxPath}/zkEquipment/zkEquipmentReadingMode/' + page,
                success: function (res) {
                    $.each(res.data, function (index, item) {
                        var lisTr = [];
                        for (var i = 0; i < fields.length; i++) {
                            lisTr.push('<td>' + item[fields[i]] + '</td>');
                        }
                        var lisTd = lisTr.join('');
                        if (index + 1 == res.data.length) {
                            lis.push('<tr style="background-color: #1E9FFF">' + lisTd + '</tr>');
                        } else {
                            lis.push('<tr>' + lisTd + '</tr>');
                        }

                    });
                    next(lis.join(''), page < res.pages);
                    //解决th与td宽度不一致问题
                    var thArr = $("th");
                    var tdArr = $("tr").eq(1).find("td");
                    for (var i = 0; i < thArr.length; i++) {
                        $(thArr[i]).attr("width", $(tdArr[i]).outerWidth());
                    }
                    //设置高度
                    $("tbody").height($("body").height());
                }
            });

        }
    });

});

 

 最重要的CSS部分:

table tbody {
    display: block;
    overflow-y: scroll;
}

table thead, tbody tr {
    display: table;
    width: 100%;
    table-layout: fixed;
}

table thead {
    width: calc(100% - 1em)
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值