テーブルの4辺を上下左右にスクロールするように固定する方法

テーブルの4辺を上下左右にスクロールするように固定する方法

質問:

最近、プロジェクトの統計を行っていたときに、テーブルを上下にスクロールしたときにテーブルの先頭と末尾が固定され、テーブルを左右にスクロールしたときにテーブルの最初と最後の列が固定されるという特定の要件に遭遇しました。

まず効果図を示すとより明確になるかもしれません:

左右にスクロールすると、2 つの列は固定され、先頭と末尾の中央部分が一緒にスクロールします。

上下にスクロールすると、先頭と末尾は固定され、最初と最後の列の中央部分が一緒にスクロールします。

アイデア:

いろいろ考えた結果、テーブルだけだと基本的に実現が難しいことと、上下にスクロールしたときに矛盾が生じることが分かりました。最終的に、私は考えを変えて、div レイアウトとテーブルのようなデザインを使用してこの効果を実現しました。

解決する:

1. 全体的なレイアウト:上部、中間、下部、つまりヘッダー、本文、フッターの 3 つの部分に分かれています。ボディは高めです。上下スクロールを実装します。簡単じゃないですか?ハハハ。

2. ヘッダーレイアウト:左コンテナー右、左 10% 幅左フローティング、コンテナー 80% 幅左フローティング、右 10% 幅左フローティングに分割されます。コンテナ内のデータの実際の幅を持つ列コンテナ (相対配置) を追加します。

3. 本文、フッター、ヘッダー。

4. 制御コア: コンテナと同じ幅 (80%) の div を生成し、その中に列コンテナの実際のデータ (id=Scroll など) と同じ幅の div を配置します。左右のスクロールバーをシミュレートします。

JavaScriptコードコンテンツをクリップボードにコピー
  1. $( "#Scroll" ).scroll(関数() {
  2.                  var scrollLeft = $( this ).scrollLeft();
  3. $( ".column-container" ).css({ "left" : -scrollLeft + "px" });
  4. });

つまり、シミュレートされたスクロール バーは、ヘッダー ボディ フッター内の列コンテナーのスクロールを制御します。こうすることで、左右にスクロールするときに 2 つの列が固定され、最初と最後の行のコンテナーもスクロールします。

結論:

コード スタイルは投稿するには長すぎるため、ここではアイデアについて説明し、試してみることにします。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

オリジナル URL: http://www.cnblogs.com/checccy/p/5601145.html

<<:  MySQL マスタースレーブスイッチチャネルの問題の解決策

>>:  Nginx は https ウェブサイト構成コード例を実装します

推薦する

Alibaba Cloud に Docker をインストールする際の問題と解決策

質問Alibaba Cloud イメージを使用して Docker をインストールすると、次の図に示す...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...

grep を使用して MySQL エラー ログ情報を取得する方法の詳細な説明

MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するス...

Nginx のパフォーマンスを向上させるための提案

Web アプリケーションが 1 台のマシンでのみ実行される場合、パフォーマンスを向上させるのは非常に...

Vueコンポーネントドキュメント生成ツールライブラリのメソッド

目次.vue ファイルの解析文書情報を抽出するコンポーネント名、説明、プロパティ、メソッド、モデルを...

MySQL ストアド プロシージャの作成と呼び出しの詳細な説明

目次序文ストアドプロシージャ: 1. ストアドプロシージャの作成と呼び出し1. ストアドプロシージャ...

MySQL の日付フォーマットと複雑な日付範囲クエリ

目次序文クエリの使用シナリオ例時間間隔クエリクエリ日付と今日の時間の比較データ一般的なサイクルタイム...

MySQLのユーザー権限の確認と管理方法の詳細な説明

この記事では、例を使用して、MySQL ユーザー権限を確認および管理する方法を説明します。ご参考まで...

Eclipse/Tomcat でホットデプロイメントとホットスタートを実装する方法

1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。...

CSS scroll-snap スクロールイベント停止と要素位置検出の実装

1. スクロールスナップはフロントエンド開発者にとって必須のスキルですCSS スクロール スナップは...

iframe 適応サイズ実装コード

ページドメインの関係:メインページ a.html はドメイン A: www.jb51.net に属し...

Ubuntu 18.04 Server に静的 IP を設定する方法

1. 背景Netplan は、Ubuntu システムのネットワーク設定を簡単に管理および構成できるよ...

Windows 10 での MySQL 5.7.21 winx64 のインストールと設定方法のグラフィック チュートリアル

mysql 5.7.21 winx64 のインストールと設定方法: MySQLのコミュニティバージョ...

CSS @font-face パフォーマンス最適化の詳細な理解

この記事では主に、フォント読み込みの最適化に関する一般的な戦略を紹介します。内容の大部分は参考資料と...

複数のパッケージソースから同時にパッケージをロードするようにnpmを設定する方法

目次1. ローカルストレージを構築する2. npmパッケージを作成し、プライベートリポジトリにアップ...