我正在尝试创建一个表,a)可以按列排序,b)有一个滚动条,用于保持标题静态。要创建我的表(我还在学习HTML和JavaScript),我基于这些例子: Body scroll和Table Sorter。所以我的代码与那些代码非常相似。
从数据库加载时生成内容,并且工作正常。如果我只是在我的代码中使用排序功能,它也可以正常工作,如果我只将滚动实现到正文。当我尝试合并它们时出现问题。发生的事情是,在显示正文时,标题显示得很好,就像它的父容器只有第一列的宽度一样。
<table id="myTable" class="tablesorter">
<thead class="fixedHeader">
<tr>
<th><span class="text">Group</span></th>
<th><span class="text">Activities</span></th>
<th><span class="text">Classes</span></th>
<th><span class="text">Discussions</span></th>
<th><span class="text">Happy Hours</span></th>
<th><span class="text">Parties</span></th>
<th><span class="text">Workshops</span></th>
</tr>
</thead>
<tbody class="scrollContent">
<tr>
<td>Austin TNG</td>
<td></td>
<td></td>
<td><iframe iconcolor="#0000FF" src="SVG/Discussionx.svg" style="height:30px;width:30px;border:0px;color:white">1</iframe></td>
<td><iframe iconcolor="#0000FF" src="SVG/HHG.svg" style="height:30px;width:30px;border:0px;color:white">2</iframe></td>
.....
</tr>
<tr>
<td>...</td>
....
</tr>
....
</tbody>
</table>
这部分的CSS是:
div.table-scroll{
height:100%;
width:85%;
float:left;
overflow:hidden;
}
table.tablesorter {
font-family:arial;
background-color: #FFFFFF;
margin:10px 0pt 15px;
font-size: 90%;
width: 100%;
max-height: 100%;
height:auto;
text-align: center;
/*table-layout: fixed;*/
}
table.tablesorter thead tr .header {
background-image: url(bg.gif);
background-repeat: no-repeat;
background-position: center right;
cursor: pointer;
height:30px;
}
table.tablesorter thead tr th {
background-color: #000000;
color: #FFFFFF;
border: 1px solid #000000;
font-size: 120%;
padding: 4px;
height:30px;
position: relative;
overflow-x:hidden;
}
table.tablesorter tbody.scrollContent {
height: 85%;
width: 100%;
display: block;
overflow:auto;
}
table.tablesorter tbody td {
color: #3D3D3D;
padding: 4px;
background-color: #FFF;
vertical-align: middle;
height:30px;
}
正如您所见,滚动条显示在第一列结束的位置。应该是“研讨会”专栏结束时。
知道可能导致这种情况的原因是什么? “inspect element”部分中的代码对我来说似乎正确,这是我的浏览器看到Javascript生成的代码的方式。如果有人能让我知道在哪里解决这个问题我会非常感激。