スタティックヘッダーと最小幅の列を持つテーブルを作成しています。これには2つのスクロールバーが必要です:垂直と水平。水平スクロール時に垂直スクロールバーを表示する
これで、ヘッダーが静的であるため、垂直スクロールバーはテーブル行をスクロールするだけです。
ただし、水平方向にスクロールすると、行とヘッダーの両方がスクロールされます。私はoverflow-x:autoでヘッダとボディの両方を保持するコンテナを持つことでこれを達成しました。本文divにoverflow-y:autoがあります。
この問題は、本体が水平スクロールdivの子であるため、右にスクロールしない限り、垂直スクロールバーが表示されないことにあります。
私は、両方のスクロールバーを常に表示したいと思っていますが、意図した内容をスクロールするだけです。
私はこのisueを実証するcodepenを作成しました:
https://codepen.io/ntroncoso/pen/rmbrYQ
重要な部分はtableContainerと体です:
#tableContainer
{
border: 2px solid red;
display: flex;
flex-direction: column;
overflow-x: auto;
}
#body
{
border: 2px solid green;
display: flex;
flex-direction: column;
overflow-y: auto;
min-width: 800px;
}
これらの両方に必要なスクロールバーが、垂直方向の皮革を生産体の内容が広すぎるとき。 Javascriptで実行可能なソリューションがあれば、私はそれを公開しています。
ありがとう!残念ながら、あなたの例では、ヘッダーはまったくスクロールしないので、ヘッダーと列のデータは整列しません。 – Troncoso
ああ申し訳ありません、もう一度更新しました。今すぐ動作するはずです。本体のdivにヘッダーdivを追加し、底辺に余裕を付けてください。 – morganfens
申し訳ありませんが、これはまだやっていることを達成できません。ヘッダーは表示外にスクロールしています。私の元の例を見ると、それは私の意図とまったく同じように機能します。私は、垂直スクロールバーを常に表示したいだけです。現在は、水平スクロールバーを使用しているときは、表示外にスクロールします。 – Troncoso