8

以前に印刷スタイルシートに取り組んでいたときに、IE8 で問題が発生しました。HTML5 と、ヘッダー、ナビゲーション、フッターを含むいくつかのレイアウト タグを使用しています。

何らかの理由で私の印刷スタイルシートで display:none; これらのタグの宣言は IE8 では無視されています (それ以降の下位バージョンしか想定できません)。最初は、IE9 の開発者ツールが誤った表現を引き起こしている可能性があると考えていましたが、VirtualBox に Windows XP をインストールしても問題が発生します。

私の推測では、HTML5 タグが IE9 より下では適切に表示されないためです。印刷スタイルシートは、Firefox と Chrome のレイアウト タグを非表示にします。

とにかくこれを回避する方法はありますか?

編集:

現時点で私が持っているものは次のとおりです。

<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/style.css" type="text/css" media="screen" />
<link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/print.css" type="text/css" media="print" />

PHP ステートメントは無視してください。これらは WordPress である私の CMS に固有のものです。

次に、print.css でレイアウト タグを非表示にします。

nav,footer { 
display:none;
}

これは IE9、Firefox、Chrome では機能しますが、IE9 より低いバージョンでは機能しません。HTML5 タグを無視しているようです。

4

5 に答える 5

3

Modernizrを使用します。Extraで、html5shiv /wprintshivが選択されていることを確認します。このjavascriptライブラリをサイトに含めると、魅力のように機能するはずです。

于 2012-07-10T13:29:48.317 に答える
0

私ができることはコードを実際に見ずに推測することだけなので、最初の推測では、css 宣言の後に使用されている html5 shiv と、css スタイルを適用せずに html 5 タグを単純にスキップしていると推測されます。head 内の css リンク タグの前に、一番上にスクリプトを設定してみてください。

于 2012-06-27T14:31:50.000 に答える
0

ボイラープレートを使用することを強くお勧めします。Web 標準の優れた編集物であり、ほとんどすべてのブラウザーで既知の一般的な問題がいくつかあります。これはmodernizrを使用し、すべてのブラウザーでのすべての印刷トラブルに使用できる @media プリントを含む素晴らしいスタイルシートを備えています。

于 2012-07-13T07:36:43.207 に答える
0

onbeforeprint関数のペアを含めることで、Javascript を使用して回避策を試すことができonafterprintますdisplay:none

于 2012-06-27T14:33:53.723 に答える