固定高度的bootstrap可预滚动DIV

时间:2016-08-25 13:53:01

标签: javascript php css html5 twitter-bootstrap-3

在我的应用程序中,我必须为数据库记录显示bootsatarp网格。由于记录数量足以在没有完整页面滚动的情况下查看,因此我使用bootstrap pre-scrollable div包装我的表,它为我提供了滚动表格的功能。但是,所有时间DIV大小都是浏览器窗口的一半。我尝试了几乎每个堆栈溢出的帖子和建议,只是它们不适合我。我也试图通过支持java脚本解决这个问题,但也失败了。

这是我的HTML代码

<div class="col-md-9">
<div  class="pre-scrollable">
<table class="table table-bordered table-hover header-fixed"  id="sometable">
                    <thead>
                  <tr>
                    <th>EMP_No</th>
                    <th>Name</th>
                    <th>Designation</th>
                    <th>Department</th>
                    <th>Type</th>
                    <th>#Days</th>
                    <th>Start Date</th>
                    <th>End Date</th>
                    <th>Half day</th>
                    <th>Status</th>
                  </tr>
                </thead>
                <tbody>
                </tbody>
                <?php  //php code for print the table
                 ?>
</div>      
</div>

我在上面填充了PHP代码的结果。我不知道如何将这个DIV的高度设置为浏览器windows的固定值或完整值。下面是使用的CSS

<style>
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
}
td, th {
    border: 1px solid #dddddd;
    text-align: center;
    padding: 1px;
}
thead th {
    text-align: center;
    background-color: #3498db;
}
tr:nth-child(even) {
    background-color: #dddddd;
}
</style>

This is the result web page

3 个答案:

答案 0 :(得分:17)

在bootstrap css文件中为.pre-scrollable div设置了max-height属性。

.pre-scrollable {
    max-height: 340px;
    overflow-y: scroll;
}

这可能是你问题的根源。

答案 1 :(得分:5)

为简单起见,您可以使用css视口尺寸。像这样:

<div class="pre-scrollable" style="max-height: 75vh">
     <table>...</table>
</div>

其中“75vh”是可见高度的75%。

答案 2 :(得分:4)

Twitter bootstrap - Fixed layout with scrollable sidebar将有所帮助......由于链接页面上的示例将显示您需要设置div而不是表格的高度。

<style type="text/css">
        body, html {
            height: 100%;
            overflow: hidden;
        }

        .navbar-inner {
            height: 40px;
        }

        .scrollable {
            height: 100%;
            overflow: auto;
        }

        .max-height {
            height: 100%;
        }

        .no-overflow {
            overflow: hidden;
        }

        .pad40-top {
            padding-top: 40px;
        }
</style>