今日の私の以前の投稿のいくつかを認識している場合は、まずお詫び申し上げます。私が書いた HTML がありますが、これが唯一の方法だと思われます。
- tbody を移動すると、それに続く水平スクロールにより、tbody と整列した状態が維持されます。
- 広告が表示されたままの垂直スクロール。
これを行う唯一の方法は、2 つのテーブルを使用することでした。これは機能しますので、お気軽に試してみてください。ただし、列の幅が、設定した width プロパティではなく、列内のテキストのサイズによって決定される方法に問題があります。誰でも助けることができますか?
列の幅が列の幅を意味するようにしたいだけです
編集: 1200 幅の理由は、オーバーフロー div 内の実際のサイズが 8x 150px であるためです。
<script type='text/javascript'>
function MatchScroll(SourceID, TargetID, DoIfMoz) {
if (DoIfMoz || navigator.userAgent.indexOf("Firefox") == -1) document.getElementById(TargetID).scrollLeft = document.getElementById(SourceID).scrollLeft;
}
</script>
<div id='HeaderTable' style='width:883px;overflow:auto;overflow-y:hidden;overflow-x:hidden;'>
<table border='1' id='HeaderTable' style='width:1200px;float:left;table-layout:fixed;'>
<thead style='text-align:left;'>
<tr style='display:block;margin-left:1px;'>
<th width='150' style='width:150px;'>t</th>
<th width='150' style='width:150px;'>t</th>
<th width='150' style='width:150px;'>tt</th>
<th width='150' style='width:150px;'>t</th>
<th width='150' style='width:150px;'>t</th>
<th width='150' style='width:150px;'>ttttt</th>
<th width='150' style='width:150px;'>ttttt</th>
<th width='150' style='width:150px;'>tt</th>
</tr>
</thead>
</table>
</div>
<div id='DataTable' style='height:300px;float:left;overflow:auto;overflow-x:auto;overflow-y:scroll;width:900px;' onmouseup="MatchScroll('DataTable','HeaderTable', true);" onmousemove="MatchScroll('DataTable','HeaderTable', false);" >
<table border='1' style='width:1200px;float:left;table-layout:fixed;'>
<tbody id='ClearDetails'>
<tr id='Row0' style='color:black;height:auto;display:block;'>
<td style='width:150px;'>1</td>
<td style='width:150px;'>1</td>
<td style='width:150px;'>1</td>
<td style='width:150px;'>1</td>
<td style='width:150px;'>1111111111</td>
<td style='width:150px;'>1</td>
<td style='width:150px;'>1</td>
<td style='width:150px;'>1</td>
</tr>
</tbody>
</table>
</div>