固定ヘッダーのスクロール可能なテーブルを作成する方法: 2 つのテーブルのアプローチ?

Susan Sarandon
リリース: 2024-11-14 16:58:02
オリジナル
506 人が閲覧しました

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

固定ヘッダーのスクロール可能なテーブルを作成する方法

スクロール可能な div 内に固定ヘッダーを持つテーブルを作成するには、創造的なアプローチが必要です。これを実現する方法は次のとおりです。

あなたが提供したコードは、CSS を使用してヘッダーを絶対的に配置し、固定位置を作成します。ただし、この方法ではスクロールが制限され、テーブルがスクロール可能な div の高さを超えると中断されます。

より良い解決策は、ヘッダー用とデータ セル用の 2 つの別々のテーブルを使用することです。ヘッダー テーブルは静的に配置する必要がありますが、データ テーブルは高さを固定し、overflow-y を auto に設定して div 内に配置する必要があります。

更新コード:

<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;
}
ログイン後にコピー

このアプローチでは、静的ヘッダー テーブルが常に表示され、データ テーブルは固定高のスクロール可能な div 内でスムーズにスクロールします。データ テーブルに固定されたテーブル レイアウトにより、セルの幅が均等になり、長い文字列に遭遇したときにテーブルが破損するのを防ぎます。さらに、 を使用すると、 text-overflow 要素を使用すると、セルの内容が折り返されずにきれいに表示されます。

この方法では、テーブルの機能と見た目の美しさの両方が維持され、固定ヘッダーのスクロール可能なテーブルを効果的に作成できます。

以上が固定ヘッダーのスクロール可能なテーブルを作成する方法: 2 つのテーブルのアプローチ?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート