0

簡単な水平グラフを生成するためにテーブルを使用します (スケーリングを容易にするため)。colspanning を使用して正確なオーバーラップを取得します (セルが互いにオーバーラップすることもありますが、この例ではそうではありません)。

私の問題は、IE(8) が相対的なセル幅を間違ってレンダリングすることです。

セルがコンテンツよりも小さくなることはありませんが、それはここでは問題ではありません。

たとえば、例の「X 65」セルは、IE の 47% よりもかなり広くなります。しかし、Firefoxはうまくやっています。

次に例を示します。

<html>
<body>

<style>
table.CompAnalysisTable {
    border-width: 1px;
    border-spacing: 0px;
    border-style: solid;
    border-color: black;
    border-collapse: collapse;
    background-color: white;
    font-size:8px;
}

table.CompAnalysisTable td {
    border-width: 1px;
    border-style: solid;
    border-color: black;
}

table.CompAnalysisTable td table 
{
    border-style:none;
}
</style>

<table>
<tr>
<td>
</td>
<td class="nobr" valign="middle" align="left">Graph</td>
<td valign="middle" width="100%" align="right">Total 73</td>
</tr>
</tbody>
</table>

<table class="CompAnalysisTable" width="100%" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="nobr" style="width: 47%; background-color: rgb(172, 172, 255);" colspan="65">X&nbsp;65</td>
<td class="nobr" style="width: 47%; background-color: white;" colspan="65"></td>
<td class="nobr" style="width: 5%; background-color: rgb(172, 172, 255);" colspan="7">A&nbsp;7</td>
<td class="nobr" style="width: 1%; background-color: rgb(172, 172, 255);">B&nbsp;1</td>
</tr>
<tr>
<td class="nobr" style="width: 47%; background-color: white;" colspan="65"></td>
<td class="nobr" style="width: 52%; background-color: rgb(255, 152, 152);" colspan="72">A&nbsp;72</td>
<td class="nobr" style="width: 1%; background-color: rgb(255, 152, 152);">B&nbsp;1</td>
</tr>
</table>


</body>
</html>

div や行ごとに個別のテーブルなどの他の手法を試しましたが、重複を正確に取得するための唯一の手法は colspanning でした。

別の解決策は、サーバー上で画像をレンダリングすることですが、スケーリングが失われ、かなり時間がかかります。

どんな助けでも大歓迎です。

4

2 に答える 2

0

このようなヘッダーを使用すると、IE 7 としてレンダリングすることで、IE 8 用に修正する手間を省くことができます。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> 

それ以外に、IE 8 が何をしているかを確認して、特定の html 条件で修正することができます。

<!--[if IE 8]><![endif]-->

もっと助けてあげたいのですが、IE 8 を持っていないので問題がわかりません。
たぶん、これらのリンクが役立つかもしれません:

HTML 条件
Beyond Doctypes

于 2009-09-05T04:22:59.333 に答える
0

私はあなたと同じ問題を抱えていました...私の解決策は、ファンキーなJavaScript(もちろんJqueryを使用して;-))コードを使用してTD幅を修正することです...

幅を 100% にしたい場合は、幅を 10 000px に設定してください。

IE、Google Chrome、Safari で同じ問題が発生する

于 2010-01-29T16:58:01.230 に答える