table 表格固定表头和第一列、内容可滚动

整理了下:

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <meta charset="utf-8" />
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        table {
            width: 100%;
            text-align: center;
            border-collapse: collapse;
            border-spacing: 0;
        }

        table td {
            word-break: break-all;
            word-wrap: break-word;
        }

        .container {
            width: 600px;
            height: 500px;
            padding: 0;
            box-sizing: border-box;
        }

        #left-div {
            width: 80px;
            float: left;
        }

        #left-div1 {
            width: 100%;
        }

        #left-div2 {
            width: 100%;
            height: 250px;
            overflow: hidden;
        }

        #left-table2 {
            margin-bottom: 4px;
        }

        #right-div {
            float: left;
            width: 240px;
        }

        #right-div1 {
            width: 100%;
            overflow: hidden;
        }

        #right-div2 {
            width: 100%;
            height: 250px;
            overflow: auto;
        }

        #right-table1 {
            width: 320px;
        }

        #right-table2 {
            width: 320px;
            overflow: auto;
        }

        th,
        td {
            height: 50px;
            width: 80px;
            line-height: 50px;
            overflow: hidden;
            text-align: center;
        }

        th {
            color: #1E304F;
            background-color: #F3F8FF;
        }

        td {
            color: #384967;
        }

        tr:nth-of-type(odd) {
            background: #E7F2FF;
        }

        /*可以美化一下滚动条*/
        #right-div2::-webkit-scrollbar {
            /*滚动条整体样式*/
            width: 4px;
            height: 4px;
        }

        #right-div2::-webkit-scrollbar-thumb {
            /*滚动条里面小方块*/
            border-radius: 5px;
            box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
            background: rgba(0, 0, 0, 0.2);
        }

        #right-div2::-webkit-scrollbar-track {
            /*滚动条里面轨道*/
            box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
            border-radius: 0;
            background: rgba(0, 0, 0, 0.1);
        }
    </style>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>

    <script type="text/javascript">
        $(function () {
            //生成表格内容
            let htmlLeft = ‘‘;
            let htmlRight = ‘‘;
            for (let i = 1; i <= 7; i++) {
                htmlLeft += ‘<tr>‘;
                htmlLeft += ‘<td>‘ + i + ‘</td>‘;
                htmlLeft += ‘</tr>‘;
            }
            for (let i = 1; i <= 7; i++) {
                htmlRight += ‘<tr>‘;
                htmlRight += ‘<td>A</td>‘;
                htmlRight += ‘<td>100</td>‘;
                htmlRight += ‘<td>500</td>‘;
                htmlRight += ‘<td>1</td>‘;
                htmlRight += ‘</tr>‘;
            }
            $(‘#left-table2‘).html(htmlLeft);
            $(‘#right-table2‘).html(htmlRight);
            //滚动
            $(‘#right-div2‘).on(‘scroll‘, function () {
                let top = $(this).scrollTop();
                let left = $(this).scrollLeft();
                $(‘#left-div2‘).scrollTop(top);
                $(‘#right-div1‘).scrollLeft(left);
            })
        });
    </script>
</head>

<body>
    <div class="container">
        <div id="left-div">
            <div id="left-div1">
                <table>
                    <tr>
                        <th>编号</th>
                    </tr>
                </table>
            </div>
            <div id="left-div2">
                <table id="left-table2"></table>
            </div>
        </div>
        <div id="right-div">
            <div id="right-div1">
                <table id="right-table1">
                    <tr>
                        <th>设备名称</th>
                        <th>设备类型</th>
                        <th>故障类型</th>
                        <th>故障状态</th>
                    </tr>
                </table>
            </div>
            <div id="right-div2">
                <table id="right-table2"></table>
            </div>
        </div>
    </div>
</body>

</html>

原文地址:https://www.cnblogs.com/xiangsj/p/10425173.html

时间: 2024-08-30 05:07:19

table 表格固定表头和第一列、内容可滚动的相关文章

layui数据表格固定头部和第一列、colspan合并列

刚看到原型图的时候,纳尼?不是跟我开玩笑吧,小女子资历尚浅,还真没做过像这样的功能,然后就是各种找度娘,可是都没有找到合适的,很多都是行合并,真的是头疼呀!再纠结是用VUE实现还是用layui实现好,在最后挣扎下,还是选择了用layui.最后加上从各大神的demo中得到的灵感.在这里记录一下,希望可以帮助到有需要的人啦~ 移动端展示效果如下: 1 <script> 2 3 layui.use('table', function(){ 4 var table = layui.table; 5 /

自定义表格固定表头,随着表格内容增加出现滚动条

1.首先要固定表头就必须是两个表格组合在一起 2.用一个div把两个表格包在一起,并且设置宽度,在让它可以横向滚动,overflow-x: auto 3.在设置里面两个table的宽度为一样,在设置内容表格overflow-x:hidden;overflow-y:auto <!--表格表头固定--HTML部分> <div class="wrap_table"> <div class="table_head"> <table

jquery 表格固定表头、列插件

原创插件,转载请声明出处!!! PS:此插件并无什么效率可言(注重效率就不要用了),然后也不支持旧版本浏览器(不支持css3 pointer-events属性的不能用) PS2:相比其他插件(例如:http://www.fixedheadertable.com/),我写的这个的唯一优点就是不改变原来的表格结构(实际上是在原表格的容器的下方复制生成三个一样的表格) jquery.fixedtable.js 内容如下: /*! * jQuery Copy Plugin * version: 1.0.

layui table中固定表头,弹框缩放之后,表头对不齐问题

问题描述: 在弹框中的表格,表格设置height属性 如果表格数据太多,表头会固定,只有表内容会滚动 拖动弹框右下角缩放弹框时,表格的头部对不齐 正常显示如图: 缩放之后如图: 解决办法: layer有一个resizing属性,是弹框缩放结束的回调放方法 在回调之后重新根据数据列设置表头的宽度. resizing: function (layero) { var tableDom = layero.find('.layui-table-box'); var theadTable = tableD

Jquery 表格固定表头

网上找了好多现成的.结果没一个能成.只得自己动手. (function($){ $.fn.fixHeader = { init : function(obj){ var p = obj.parent(); //绑定事件 p.scroll(internalScroll); //获取表格第一行 var head = obj.children("thead tr th:first"); if (!head || head.length == 0) { var body = obj.child

html固定表头,表单内容垂直循环滚动

<!DOCTYPE html><html lang="zh-cn"><head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=dev

css固定表头,表单内容可以滑动

<html><head>    <meta charset="utf-8">    <title>Table</title>    <style type="text/css">        .table{            width: 100%;            border-collapse:collapse;            border-spacing:0;     

Saiku如何固定查询结果table的表头和首列

在使用saiku查询的时候,当“行”和“列”的维度内容过多时,在查看时只看到数据,不知道是什么数据,维度不清楚,得来回拖动滚动条才行,所以同事提出想要固定“表头”和“首列”. 在网上找了一些现成的插件使用后效果都不理想,所以决定自己动手,丰衣足食. 我的思路来自:http://www.cnblogs.com/sorex/archive/2011/06/30/2093499.html 使用四个table,其中一个为saiku原有的,再增加3个,思路效果图: js代码实现: 1.找到SaikuTab

固定表头、锁定前几列的代码参考[JS篇]

引语:做有难度的事情,才是成长最快的时候.前段时间,接了一个公司的稍微大点的项目,急着赶进度,本人又没有独立带过队,因此,把自己给搞懵逼了.总是没有多余的时间来做自己想做的事,而且,经常把工作带入生活,这TM真是一个糟糕的事情!这两天,终于把项目上上去了,不管结果怎么样,总算是交差了吧.趁着这空档的时间,写点东西. 本篇,就来写写关于固定表头和表列的事儿吧. 相信大家使用excel的时候,肯定都会用到一项冻结的功能,冻结之后,可以让你很方便的查看到各种标题,从而能清楚的查看到当前行的内容. 这个