ホームページ > ウェブフロントエンド > htmlチュートリアル > 固定 headers_html/css_WEB-ITnose を使用してスクロール可能なテーブルを実装するための CSS のブラウザ互換性の問題

固定 headers_html/css_WEB-ITnose を使用してスクロール可能なテーブルを実装するための CSS のブラウザ互換性の問題

WBOY
リリース: 2016-06-24 12:25:47
オリジナル
1868 人が閲覧しました

固定ヘッダーとスクロール可能な表本体を持つ表を作成したいです。インターネットで見つかった例は次のとおりです。

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ページで使用します。

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