【问题标题】:HTML, CSS: Make table vertically scrollableHTML,CSS:使表格垂直滚动
【发布时间】:2017-12-07 12:47:08
【问题描述】:

我有一个在 AJAX 请求后动态创建的表(使用 vue.js)。计算列数和每列的宽度。

我的问题是,当表格中没有足够的空间时应该有一个垂直滚动条,但即使设置style="width: 600px; overflow-x: scroll" 也没有显示滚动条,并且标题元素一起缩小到包装器 div 的宽度和表格行被剪裁。

这是我的相关代码(使用 bootstrap 和 vue.js 2):

    <div class="panel-body" id="datatable">
        <table class="table data-table" id="datatable-content">
            <thead class="datatable-head" id="datatable-head">
                <tr>
                    <th v-for="value in tableHeader" v-text="value"></th>
                </tr>
            </thead>

            <tbody class="datatable-body" id="datatable-body">
                <tr v-for="row in tableRows">
                    <td v-for="key in tableHeader" v-html="highlightFilterString(row[key])"></td>
                </tr>
            </tbody>
        </table> 
    </div>

和css:

    .data-table {
        overflow-x: scroll; 
        display: block;
        width: 100%;
    }
    .datatable-body {
        display:block;
        height: calc(100vh - 118px);/
        overflow-y: scroll;
        overflow-x: hidden;
    }
    .datatable-head {
        display:block;
        overflow-x: scroll;
    }
    .datatable-head, .datatable-body tr {
        min-width: 100px;
        text-align: center;
    }
    .datatable-body td {
        min-width: 100px;
        text-align: center;
    }
    .datatable-head th {
        min-width: 100px;
        text-align: center;
    }

这里有什么问题?

【问题讨论】:

  • 你需要给定高度和overflow-y
  • 我有:height: calc(100vh - 118px)

标签: html css twitter-bootstrap vue.js


【解决方案1】:

我注释掉了 overflow-x 元素,它现在似乎工作正常。摆弄静态 html 内容

https://jsfiddle.net/v7qpot2b/

 .datatable-body {
        display:block;
        height: calc(100vh - 118px);/
        overflow-y: scroll;
        /* overflow-x: hidden; */
    }

【讨论】:

    猜你喜欢
    • 2016-08-20
    • 2012-06-24
    • 2015-02-22
    • 2012-07-04
    • 2011-01-12
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多