layui table表格 表头与内容列错位问题(只有纵向滚动条的情况)

版本2.4.5

问题展示:

存在问题:正好错位一个纵向滚动条的宽度

 

思路:

仔细观察th元素及th包裹的子元素div 如下图

发现th宽度莫名的就多了5px  我就纳闷了

 

解决方案:到table.js源码中→搜索 →纵向滚动条宽度,找到了,并按下图修改

 

 解决了

解决后效果如下

 

 

如果你引用的是压缩版本的table.js  或者你不想去改动源码   那么还可以像下面这样操作,效果一样:

 

        function tableScrollPatch(){
            var box = this.elem.next('.layui-table-view');
            var thead_tr = box.find('thead > tr');
            var tbody_tr = box.find('tbody > tr');

            if (tbody_tr.length <= 0) {
                return false;
            }

            var width = Math.abs(thead_tr.width() - tbody_tr.width());

            if ( width < 5) {
                return false;
            }

            width = width - 2//减去边框

            thead_tr.append('<th class="layui-table-patch"><div class="layui-table-cell" style="width:'+ width +'px"></div></th>');
        }

 

调用方法如下:

                                     table.render({

                                         /*
                                          一些基本配置项
                                         */

                                         done : function() {//回调渲染

                                             layuiTableScrollPatch.call(this);
                                         }
                                     });

 

posted @ 2019-06-25 10:21  &执念  阅读(15110)  评论(1编辑  收藏  举报