首页 > web前端 > css教程 > 正文

如何创建固定标题可滚动表:两个表方法?

Susan Sarandon
发布: 2024-11-14 16:58:02
原创
506 人浏览过

How to Create a Fixed Header Scrollable Table: Two Table Approach?

How to Create a Fixed Header Scrollable Table

Creating a table with a fixed header within a scrollable div requires a creative approach. Here's how to achieve it:

The code you provided uses CSS to position the header absolutely, creating a fixed position. However, this approach limits scrolling and will break when the table exceeds the height of the scrollable div.

A better solution is to use two separate tables: one for the header and one for the data cells. The header table should be positioned statically, while the data table should be placed inside a div with a fixed height and overflow-y set to auto.

Updated Code:

<div class="table-wrapper">
  <table class="table-header">
    <thead>
      <tr>
        <th>Order ID</th>
        <th>Order Date</th>
        <th>Status</th>
        <th>Vol Number</th>
        <th>Bonus Paid</th>
        <th>Reason for no Bonus</th>
      </tr>
    </thead>
  </table>
  <div class="table-scroll">
    <table class="table-data">
      <tbody>
        <tr>
          <td><span><%=snd.getOrderId()%></span></td>
          <td><span><%=snd.getDateCaptured()%></span></td>
          <td><span><%=snd.getOrderStatus()%></span></td>
          <td>Data Not Available</td>
          <td>Data Not Available</td>
          <td>Data Not Available</td>
        </tr>
      </tbody>
    </table>
  </div>
</div>
登录后复制
.table-wrapper {
  position: relative;
  width: 100%;
}

.table-header {
  position: static;
  width: 100%;
  table-layout: fixed;
}

.table-scroll {
  height: 250px;
  width: 100%;
  overflow-y: auto;
}

.table-scroll table {
  width: 100%;
}

.table-data {
  table-layout: fixed;
}

.table-data tr td {
  padding: 5px;
  border: 1px solid #eee;
  width: 100px;
}

.table-data tr td span {
  display: inline-block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
登录后复制

In this approach, the static header table will always be visible, while the data table will scroll smoothly within the fixed-height scrollable div. The table-layout fixed on the data table ensures that the cells have equal width and prevents table breakage when encountering long strings. Additionally, the use of elements with text-overflow ensures that the cell contents are displayed neatly without wrapping.

This method maintains both table functionality and visual aesthetics, allowing you to create fixed-header scrollable tables effectively.

以上是如何创建固定标题可滚动表:两个表方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板