1

これは、Internet Explorer バージョン 7 以前でのみ問題になるようです。これが私の HTML の単純化されたバージョンです。

<table>

<colgroup>
<col width="20" class="hidden_col" />
<col width="50" />
<col />
</colgroup>

<tr>
<td class="hidden_col"><input type="checkbox" /></td>
<td>Title</td>
<td>Longer Description</td>
</tr>

</table>

次に、次のように「印刷」スタイルシートを含めます。

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

そして、そのスタイルシートには次のものが含まれています。

.hidden_col {
    display: none;
}

現在、IE8 を含む他のほぼすべてのブラウザーで、これは正常に動作します。画面には最初の列が表示されますが、印刷プレビューには表示されません。しかし、何らかの理由で、IE7 は非常に奇妙な動作をします。もちろん画面上では普通に表示されるのですが、IE7で印刷プレビューすると「長い説明」しか表示されません。つまり、最初の列が非表示になり、2 番目の列も非表示になります。これをすべてのブラウザーで機能させるにはどうすればよいですか?


あなたの編集に基づいて、これは実際にあなたが選んだ名前が原因である可能性があると思います... Control. 多くのControlクラスがあり、ascx の宣言に名前空間の競合の問題がある可能性があります。コントロールの名前を別の名前に変更してみてください。

4

3 に答える 3

1

テーブルの単一の要素を非表示にすることはできません。テーブル内の要素は、「table-」で始まるCSS表示プロパティのみを使用できます。少なくともそれらは想定されているだけです。詳細については、これを参照してください。

編集:あなたの問題は、あなたが使用することになっていないプロパティを使用することからの単なるグリッチだと思います。

于 2010-03-03T19:12:55.300 に答える
0

私がやったことは、セル自体の幅を指定するだけで、<colgroup>もう使用していません。私の考えでは理想的ではないので、誰かがより良い解決策を思い付くことができる場合に備えて、この質問をしばらく開いたままにしておきますが、それはうまくいきました。これが私の最終的なHTMLでした:

<table>

<tr>
<td width="20" class="hidden_col"><input type="checkbox" /></td>
<td width="50">Title</td>
<td>Longer Description</td>
</tr>

</table>
于 2010-03-03T20:38:00.080 に答える
0

これを試してください:(未テスト)

td .hidden_col{
    display: none;
}

何らかの理由で、印刷モードでは、一部のブラウザで印刷モードのCSSスタイルが継続される場合があります。

于 2010-03-03T19:15:49.747 に答える