美文网首页css
解决表格内容因为滚动条导致换行(二)固定表头

解决表格内容因为滚动条导致换行(二)固定表头

作者: Lia代码猪崽 | 来源:发表于2019-04-19 16:25 被阅读0次
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,viewport-fit=cover">
    <title>滚动条不换行</title>
    <style>
        body {
            text-align: center;
        }
        .table-container {
            margin-top: 50px;
            display: inline-block;
            overflow: auto;
            width: 50%;
            /*background-color: #ff1d5e;*/
        }
        #tableHeader {
            display: none;
            width: 100%;
            height: 30px;
        }
        #tableContent {
            display: none;
            /*width: 500px;*/
            height: 100px;
            overflow: auto;
        }
        #tableContent tr {
            height: 30px;
        }
    </style>
</head>

<body>
<div class="table-container">
    <div id="tableHeader">
        <table border="1" width="100%">
            <tr>
                <th width="20%">Month</th>
                <th width="30%">Savings</th>
                <th width="20%">Savings</th>
                <th class="col2" width="30%">Savings</th>
            </tr>
        </table>
    </div>
    <div id="tableContent">
        <table border="1" width="100%">
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
            <tr>
                <td width="20%">January</td>
                <td width="30%">January</td>
                <td width="20%">January</td>
                <td width="30%">January</td>
            </tr>
        </table>
    </div>
</div>
</body>
<script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        myTable()
    });
    $(window).resize(function () {          //当浏览器大小变化时
        myTable()
    });
    function myTable() {
        var $header = $('#tableHeader')
        var $content = $('#tableContent')
        $content.show()
        $header.show()
        $header.css('width', Number($content[0].scrollWidth))
    }
</script>
</html>

分析:

  • 要把表头和内容分开,这样才能做到固定表头,滚动条只作用于内容。
  • 通过计算把内容除去滚动条的宽度scrollWidth,赋值给表头的宽度,保持一致。
  • 因为表头的宽度是从默认宽度再变化为与内容相等,这个过程页面会闪动,为了更好的用户体验,通过cssdisplay属性先把表头和内容隐藏,再通过jqshow()显示出来。

相关文章

  • 解决表格内容因为滚动条导致换行(二)固定表头

    分析:要把表头和内容分开,这样才能做到固定表头,滚动条只作用于内容。通过计算把内容除去滚动条的宽度scrollWi...

  • 解决表格内容因为滚动条导致换行

    分析:主要是用一个div来包裹着table,div来控制想要的高度和宽度表格的宽度为100%,即外层div的宽度d...

  • antd中表格组件的表头和表格体对齐

    antd的表格组件中,如果表格内内容比较多,容易出现表头和表格体不对齐的问题,解决方法很简单,需要直接把表格头固定...

  • element table 固定部分二级表头

    项目用vue+element开发,需求如下:表格为二级表头,一级表头下有多个二级表头,需要固定部分二级表头列在表格...

  • ant design pro table的使用

    ant design 自带组件 实现功能 表头固定,表格内容滑动 行合并 效果

  • TABLE表头固定问题

    由于表格内容td是动态生成的,宽度不固定,所以通过定位的方式来实现表头固定会使表头脱离文档流,跟td内容不对齐,通...

  • 表格固定表头

    1.冻结窗格 依次单击【视图—【冻结窗格】—【冻结首行】即可。同样的也可以使用【冻结首列】来固定第一列,不需固定的...

  • jquery固定table表头

    在我们日常 大前端开发中,查看报表的时候,表格内容过长,这时候就可能会有需求:固定表头查看内容。 下面是解决办法 ...

  • VUE2.0+ElementUI2.0表格el-table:自适

    在开发中,需要表格控件根据浏览器高度进行调整,固定表头,且然后多余的出滚动条,官方给出的: 只要在el-table...

  • custom-table记录

    当在业务开发的时候,固定的页面表格标题及内容不能满足需求,需要根据不同的需求动态加载表格表头和表格的内容,如下图:...

网友评论

    本文标题:解决表格内容因为滚动条导致换行(二)固定表头

    本文链接:https://www.haomeiwen.com/subject/kkhcgqtx.html