0

IE8、IE9、および Chrome でページを印刷する必要があります。Chrome では完全に印刷されますが、IE8 ではそれほどうまく印刷されません (IE9 はまだテストしていません)。

私が現在IEで直面している3つの主要な問題は次のとおりです。

  1. チェックボックスとラジオボタンの幅がめちゃくちゃで枠がついている
  2. フォーム全体、特にラベルとフィールドの間の余分なパディング
  3. 表の内部境界線は表示されず、最初の列は非表示にする必要があります

以下のスクリーンショットを参照してください。なぜこうなった?私はそれを修正できないようです.cssを数回変更しようとしました. 私はそれがCSSを読んでいることを知っています。

チェックボックス: チェックボックスの幅がめちゃくちゃで、境界線があります

どこでも余分なパディング:

フォーム全体の余分なパディング

内部表枠なし: 表の内部境界線は表示されません + 最初の列は非表示にする必要があります

アップデート:

Chrome と IE の両方で、フォームが正しく表示されます (表の境界線が表示され、パディングが正しく表示されるなど)。Chromeで正しく印刷されます。IE では正しく印刷されません。

フォームを別の方法で印刷するように言わないでください。ブラウザから印刷するという設計上の決定を下しました。それが私のプロジェクトに最適です。

4

2 に答える 2

0

ページに境界線のある単純なテーブルを追加して、IE がテーブルの境界線を表示していないかどうか、または私の CSS がどのようにオーバーライドされているかをテストしました。それが機能したとき、テーブルがIDによって別の場所で選択されていることに気付きました(そして境界線が削除されました)。印刷用の境界線を追加しようとしたとき、ID ではなくクラス名でテーブルを選択していました。

また、jquery.jqprint プラグインが印刷する iframe に doctype を含めていないことにも気付きました。これで、IE8 で完全に印刷されます。

于 2013-04-04T22:04:56.843 に答える
0

1:おそらく次のようなものがあります

input {border: ...; width: ...}

チェックボックスとラジオに影響します。少なくとも Internet Explorer では。これは、次のいずれかを使用して修正できます

input[type=radio], input[type=checkbox] {alternating styles}

または特定のクラスを割り当てることによって:

input.radio, input.checkbox {alternating styles}

2: 入力フォームとそのすぐ隣のラベルの両方を指定することで取り除くことができるパディング

text-align: vertical

3: 境界線を解決するには、そのための CSS を提供する必要があります ;)

于 2013-04-04T21:02:08.830 に答える