固定ヘッダーとスクロール可能な表本体を持つ表を作成したいです。インターネットで見つかった例は次のとおりです。
http://www.imaputz.com/cssStuff/bigFourVersion.html
http://stackoverflow.com/questions/13043837/scrollable-table-with-fixed-header
調整後、Firefox、Chrome、IE10 では正常に動作しますが、IE8、IE9、IE11 では動作しません。症状としては、tboytboy部分がスクロールできない(スクロールバーが表示されない)というものです。テーブルの外側のコンテナにはスクロール バーを含めることができますが、テーブル ヘッダーはテーブル本体と一緒にスクロールします。
このブラウザの互換性の問題を解決する良い方法はありますか?ありがとう!
(明日から一週間休み、戻ってきてからチェックしてください)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Untitled Document</title><style>*{ margin:0; padding:0; }div.tableContainer { clear: both; border: 0px solid #963; height: 420px; /* html>body tbody.scrollContent height plus 23px for the header */ overflow: auto; width: 756px /* Remember to leave 16px for the scrollbar! */}/* define width of table. IE browsers only */div.tableContainer table { float: left; width: 740px; border-collapse:collapse; border: 1px solid #76a0ae; background-color: #ddd2e5;}div.tableContainer table tr{ height:33px;}/*html>body */tbody.scrollContent { margin-top:10px; display: block; height: 352px; overflow: auto; width: 100%; background-color: #eeeeee;}tbody td { height: 32px;}/*html>body */thead.fixedHeader tr { display: block; background-color: #ddd2e5;}/*html>body */thead.fixedHeader th { /* TH 1 */ border: 1px solid #76a0ae; width: 180px; height:40px;}/*html>body */thead.fixedHeader th + th { /* TH 2 */ width: 240px;}/*html>body */thead.fixedHeader th + th + th { /* TH 3 +16px for scrollbar */ width: 336px;}/*html>body */tbody.scrollContent td { /* TD 1 */ border: 1px solid #76a0ae; width: 180px; height:33px;}/*html>body */tbody.scrollContent td + td { /* TD 2 */ width: 240px;}/*html>body */tbody.scrollContent td + td + td { /* TD 3 +16px for scrollbar */ width: 320px;}</style></head><body><h1>Pure CSS Scrollable Table with Fixed Header</h1><p>Using CSS to allow scrolling within a single HTML table</p><br /><br /><div id="tableContainer" class="tableContainer"><table width="100%" cellspacing="0" cellpadding="0" border="0" class="scrollTable"> <thead class="fixedHeader"> <tr class="alternateRow"> <th><a href="#">Header 1</a></th> <th><a href="#">Header 2</a></th> <th><a href="#">Header 3</a></th> </tr> </thead> <tbody class="scrollContent"> <tr> <td>Cell Content 1 1</td> <td>Cell Content 1 2</td> <td>Cell Content 1 3</td> </tr> <tr> <td>Cell Content 2 1</td> <td>Cell Content 2 2</td> <td>Cell Content 2 3</td> </tr> <tr> <td>Cell Content 3 1</td> <td>Cell Content 3 2</td> <td>Cell Content 3 3</td> </tr> <tr> <td>Cell Content 4 1</td> <td>Cell Content 4 2</td> <td>Cell Content 4 3</td> </tr> <tr> <td>Cell Content 5 1</td> <td>Cell Content 5 2</td> <td>Cell Content 5 3</td> </tr> <tr> <td>Cell Content 6 1</td> <td>Cell Content 6 2</td> <td>Cell Content 6 3</td> </tr> <tr> <td>Cell Content 7 1</td> <td>Cell Content 7 2</td> <td>Cell Content 7 3</td> </tr> <tr> <td>Cell Content 8 1</td> <td>Cell Content 8 2</td> <td>Cell Content 8 3</td> </tr> <tr> <td>Cell Content 9 1</td> <td>Cell Content 9 2</td> <td>Cell Content 9 3</td> </tr> <tr> <td>Cell Content 10 1</td> <td>Cell Content 10 2</td> <td>Cell Content 10 3</td> </tr> <tr> <td>Cell Content 11 1</td> <td>Cell Content 11 2</td> <td>Cell Content 11 3</td> </tr> <tr> <td>Cell Content 12 1</td> <td>Cell Content 12 2</td> <td>Cell Content 12 3</td> </tr> <tr> <td>Cell Content 13 1</td> <td>Cell Content 13 2</td> <td>Cell Content 13 3</td> </tr> <tr> <td>Cell Content 14 1</td> <td>Cell Content 14 2</td> <td>Cell Content 14 3</td> </tr> <tr> <td>Cell Content 15 1</td> <td>Cell Content 15 2</td> <td>Cell Content 15 3</td> </tr> </tbody></table></div></body></html>
誰も返信しませんでした。質問が難しすぎるのか、それとも私の性格が悪すぎるのか?
テーブルを完全にコピーします
下部で 1 つスクロールします
1 つの外側で div をラップし、ヘッダーのみを表示して上に積み重ねます
KK3K2005 さん、熱心なご返信ありがとうございます。
2 つの同一のテーブルを使用していますか?もっと詳しく教えてもらえますか? ASP.NET Webページで使用します。