【问题标题】:Static Table Header Inside Horizontal Scroll Div水平滚动div内的静态表头
【发布时间】:2014-06-24 22:23:22
【问题描述】:

我在 div 中有一个表格。 div 可以水平和垂直滚动。当我向下滚动表格时,我需要表格标题在顶部是静态的。

<div id='result' style='overflow:scroll;width:173px;height:115px;'>
<table>
    <tr>
        <th>Head1</th><th>Head2</th><th>Head2</th><th>Head3</th>
    </tr>
    <tr>
        <td>column1</td><td>column2</th><td>column3</td><td>column4</td>
    </tr>
    <tr>
        <td>column1</td><td>column2</th><td>column3</td><td>column4</td>
    </tr>

</table>

jSfIDDLE

【问题讨论】:

标签: html css


【解决方案1】:

我能想到的仅使用 css 和 html 的唯一方法是将表格拆分为标题表和内容表,并将内容表包装在可滚动的 div 中:

html:

<table class="the_Table">
    <tr class="static_header">
        <th>Head1</th>
        <th>Head2</th>
        <th>Head2</th>
        <th>Head3</th>
    </tr>
</table>
<div id='result' class="scrollable">
    <table class="the_Table">
        <tr>
            <td>column1</td>
            <td>column2</td>
            <td>column3</td>
            <td>column4</td>
        </tr>
        <tr>
            <td>column1</td>
            <td>column2</td>
            <td>column3</td>
            <td>column4</td>
        </tr>
        <tr>
            <td>column1</td>
            <td>column2</td>
            <td>column3</td>
            <td>column4</td>
        </tr>
        <tr>
            <td>column1</td>
            <td>column2</td>
            <td>column3</td>
            <td>column4</td>
        </tr>
        <tr>
            <td>column1</td>
            <td>column2</td>
            <td>column3</td>
            <td>column4</td>
        </tr>
        <tr>
            <td>column1</td>
            <td>column2</td>
            <td>column3</td>
            <td>column4</td>
        </tr>
    </table>
</div>

css:

.the_Table {
    width:300px;
    text-align:center;
}
.scrollable {
    position:relative;
    overflow:scroll;
    height:115px;
    width:330px;
}

实时示例:Fiddle

也可以使用 Javascript 轻松实现,使用 jQuery 更容易实现。

【讨论】:

  • 我有 20 个标题需要位于可水平滚动的 div 中。所以标题在可滚动的 div 中应该是静态的
  • 如果您滚动标题,您还需要滚动表格主体。如果您将标题与正文分离并单独滚动,则对用户没有意义。您可以通过将整个表格放在我的代码中,放入另一个水平滚动的 div 中,或者将标题添加到一个可滚动的 div 中,就像正文一样,并使用 javascript 在用户滚动时同步他们的.scrollLeft()其中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多