x 軸と y 軸の両方にスクロール テーブルが必要です。
これは、jQuery を使用して既存のテーブル ヘッダーを新しいテーブルに複製することで実現しました。
ここで問題を嘲笑しました:
IE7 では、CSS が同じであっても、複製された thead セルの境界線が親の thbody セルと一致しません。
これに対する修正はありますか?
これはベスト プラクティスではなく、IE7 は死にかけているブラウザーですが、クライアントの要件であることを理解しています。
x 軸と y 軸の両方にスクロール テーブルが必要です。
これは、jQuery を使用して既存のテーブル ヘッダーを新しいテーブルに複製することで実現しました。
ここで問題を嘲笑しました:
IE7 では、CSS が同じであっても、複製された thead セルの境界線が親の thbody セルと一致しません。
これに対する修正はありますか?
これはベスト プラクティスではなく、IE7 は死にかけているブラウザーですが、クライアントの要件であることを理解しています。
このルールの削除:
.grid-cntr .data-grid thead {
display: none;
}
境界線を揃えました。しかし明らかに、IE7 でもスレッドを非表示にしたいので、ハックを使用しましょう。
.grid-cntr .data-grid thead {
display: none;
*display:block; /* target IE7 and below only */
}
次に、次のルールを追加します。
.grid-cntr .data-grid {
*margin-top:-32px;
}
それ以外の場合は、コードを「クリーン」に保ちたい場合は、条件付きコメントを使用できます。
通常の CSS の後に、このコードを head セクションに追加します。
<!--[if lte IE 8]>
<style>
.grid-cntr .data-grid thead { display:block; }
grid-cntr .data-grid { margin-top:-32px; }
</style>
<![endif]-->
とにかく、セレクターを使用していますが、この互換性テーブルを確認:first-child
してください。:last-child
last-child
IE7 と 8ではまったく動作しませんfirst-child
生成されたコンテンツではなく、静的要素でのみ機能しますIE7+ との完全な互換性が必要な場合は、代わりにクラスを使用してみてください。
古い IE バージョンの CSS3 セレクターに最適なie9.jsもあります。
次に、次のルールがあります。
.data-grid td:first-child {
border-width: 1px 0 0 0;
}
このルールが最後の行を上書きすることを知っていますか?
.data-grid tr:last-child td {
border-width: 1px 1px 0 1px;
}
多分あなたは使いたい
.data-grid td:first-child {
border-width: 1px 0 0 0 !important;
}