4

テーブルが IE8 で問題を引き起こしています。テーブル ヘッダーの境界線をグラデーションの上に表示することはできません (下の画像で確認できる 1 つの場所を除いて)。境界線は、他のすべてのブラウザーや IE8 互換モードでも問題なく表示されます。これを修正する方法についてのアイデアはありますか? 適用されたコードを誰もが確認できるテスト サイトです。

IE8 と IE8 互換モードでのテーブル ヘッダーの境界線の比較

テーブル ヘッダーの CSS を次に示しますが、CSS ファイル全体をここで表示できます。

.gridview th {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iaGF0MCIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHgxPSI1MCUiIHkxPSIxMDAlIiB4Mj0iNTAlIiB5Mj0iLTEuNDIxMDg1NDcxNTIwMmUtMTQlIj4KPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwNTM4MyIgc3RvcC1vcGFjaXR5PSIxIi8+CjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzhmZDlmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgIDwvbGluZWFyR3JhZGllbnQ+Cgo8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0idXJsKCNoYXQwKSIgLz4KPC9zdmc+);
    background-image: -webkit-linear-gradient(90deg, #005383 0%, #90d9ff 100%);
    background-image: -moz-linear-gradient(90deg, #005383 0%, #90d9ff 100%);
    background-image: -o-linear-gradient(90deg, #005383 0%, #90d9ff 100%);
    background-image: -ms-linear-gradient(90deg, #005383 0%, #90d9ff 100%);
    background-image: linear-gradient(90deg, #005383 0%, #90d9ff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#90d9ff, endColorstr=#005383);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#90d9ff, endColorstr=#005383)";
    background-color: #005383;
    line-height: 18px;
    vertical-align: top;
    padding: 4px;
    font-weight: bold;
    text-align: center;
    border-left: 1px solid #005580;
    color: #fff;
}
4

4 に答える 4

1

私はあなたの問題を解決しようとしましたが、できませんでした。これは、IE8 と IE9 の両方のドキュメント モードとブラウザ モードで発生するようです。ただし、IE 7 にはありません。しかし、使用する場合のみ

 background-image: url(data:image/.......);

境界線はIE9で機能します...IE8だけが解決する必要があります。IE7 および IE9 固有の条件付きコメントを使用して、上記のコード (IE9 用) と

filter: progid:DXImageTransform.Microsoft

IE7用。IE8の問題に関しては、同様の投稿があります:

IE8 で CSS グラデーション フィルターを適用すると、テーブル セルの境界線が失われる

于 2012-08-21T19:20:23.587 に答える
0

これを私のcssに追加することは、私にとっての解決策でした。

table {
   border-collapse: separate;
}
于 2012-09-18T11:32:24.630 に答える
0

私は修正を見つけましたが、それはもはや有効な HTML ではないので、あまり満足していません...しかし、これは IE の古いバージョンの問題を修正しているようです:

<!--[if !IE]> -->
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- <![endif]-->

私はこれを上司に見せましたが、彼は承認しなかったので、まだ解決策を探しています!!!

于 2012-08-21T20:00:41.753 に答える