Php 修复了带有滚动面板的表格标题

Php 修复了带有滚动面板的表格标题,php,jquery,html,css,frontend,Php,Jquery,Html,Css,Frontend,我知道这是一个重复的问题,我已经尝试了所有可能的解决方案,但没有成功。我正在使用一个面板,其中显示了我的excel数据,我想用其他文字标题修复该列。我尝试过的每个css都会破坏面板设置,但都没有成功。我使用的是bootstrapcss&有1000多行,这就是为什么我需要一个固定的头。 这是我的HTML <div class="panel panel-primary"> <div class="panel-heading">Excel Sheet&l

我知道这是一个重复的问题,我已经尝试了所有可能的解决方案,但没有成功。我正在使用一个面板,其中显示了我的excel数据,我想用其他文字标题修复该列。我尝试过的每个css都会破坏面板设置,但都没有成功。我使用的是bootstrapcss&有1000多行,这就是为什么我需要一个固定的头。 这是我的HTML

<div class="panel panel-primary">
            <div class="panel-heading">Excel Sheet</div>
            <div class="panel-body">
                <?php
                echo '<table class="table table-striped table-hover table-condensed">';
                echo "<thead class='thead'>";
                echo "<tr class='info'>";
                for ($column = 'A'; $column < $lastcol; $column++) {
                    echo "<th>";
                    echo $worksheet->getCell($column . '1')->getFormattedValue();
                    echo "</th>";
                }
                echo "</tr>";
                echo '</thead>';
                echo '<tbody>';
                for ($row = 2; $row <= $lastrow; $row++) {
                    echo "<tr>";
                    for ($column = 'A'; $column < $lastcol; $column++) {
                        echo "<td>";
                        echo $worksheet->getCell($column . $row)->getFormattedValue();
                        echo "</td>";
                    }
                    echo "</tr>";
                }
                echo '</tbody>';
                echo "</table>";
                ?>
            </div>
        </div>
提琴就是一个例子


附言:请别忘了发表评论,以防对帮助我投反对票。干杯

尝试将以下CSS添加到.panel主面板:

.panel-primary{
    top: 0;
}
这应该可以做到


希望有帮助。

您可以使用Jquery实现这一点。我检查每个
td
的宽度,以定义每个
th
宽度

$(文档).ready(函数(){
调整大小();
})
$(窗口)。调整大小(函数(){
调整大小()
})
函数大小调整(){
var-widthd1=$(“td:eq(0)”).width();
var-widthd2=$(“td:eq(1)”).width();
var-widthd3=$(“td:eq(2)”).width();
var TDPadding=11;//=padding+border
var WITHTH1=宽度TD1+TDPadding;
var WITHTH2=宽度TD2+TDPadding;
var WITHTH3=宽度TD3+TDPadding;
$(“th:eq(0)”).css({width:width1})
$(“th:eq(1)”).css({width:widthTH2})
$(“th:eq(2)”).css({width:width3})
}
$(“.panel body”)。打开(“滚动”,函数(){
$(“.info”).offset({top:58})
})
.panel主面板{
排名:0;
}
.小组标题{
字体大小:15px;
}
.小组委员会{
溢出:自动;
高度:400px;
填充:0!重要;
利润率:15像素
}
.info{
位置:绝对位置;
左:-1px;
}
.桌子{
位置:相对位置;
}
之前{
内容:“-”;
显示:块;
线高:2米;
}
th{
边框:1px纯黑;
}
运输署{
边框:1px纯黑;
}

Excel表格
质量控制代码
样本ID
日期
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24
SE68
GC57052
1/2/15 17:24

仍然中断面板设置,宽度未根据面板设置。请添加一个JSFIDLE或带有工作示例的代码片段。@P.Frank如何将来自数据库的1000行放入JSFIDLE。我很确定你没有读过我的问题。是的,我读过你的例子,但没有看到你的代码是很难解决你的问题。不需要粘贴你的1000行,只有三行是好的。只是为了在具体案例中看到您的问题。@P.Frank这里它并没有完全匹配thead to tbodyus使用此示例来完全满足您的需求。第一行是固定的,这是你想要的否?是的,但你已经看到了卷轴是如何从第一行向后移动的?是的,因为你的主div中有一个填充。如果你的替换为边距,这是有效的。请尝试更新的代码段,让我检查并在我的代码中尝试。并将返回给您。:)
.panel-primary{
    top: 0;
}