2012-03-06 14 views
2

私はヘッダーとフッターを除いてプリンタフレンドリーなページを持っています。ページの本文のみを印刷し、背景色を印刷しない印刷ボタンを追加できますか?それとも、新しいページにリンクしてからもう一度クリックする必要がありますか?もし私がそれを避けることができれば、私はむしろこれらの余分なステップを導入したくない。印刷用に別のhtmlページが必要ですか?

答えて

7

印刷用に別のhtmlページが必要ですか?

不要です。異なるprint CSSを使用すると、印刷時に特に使用されます。このCSSの中にあなたがあなたのページ上のさまざまな要素の外観をカスタマイズできます。

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

media="print"はこのCSSを印刷する場合にのみ適用されることを意味します。

print.cssライブラリをチェックアウトすることもできます。

0

これはCSSですべて実行できます。印刷するメディアを設定するだけです。

@media print 
{ 
    /* Print specific styles go in the braces */ 
} 
3

私は背景に色なしでのみページの本文、および を印刷する印刷ボタンを追加することはできますか?

あなたは介してプリンタ - 指定のスタイルを設定することができます:あなたは、印刷中の動作を変更したい要素にprintクラスを適用します

@media print { 
.print { 
    background:#fff; 
    } 
} 

+1

大きなヒントです!おそらく明白に思えるはずですが、実際には '.print'クラスを使ってページ上で識別することができます。良いショー! – Tim

0

print media stylesheetを追加するだけです。

独自のボタンを追加したり、重複したページを作成したりする必要はありません。ブラウザの印刷コントロールは完全にうまくいきます。

1

新しい印刷固有のスタイルシートを追加し、そのスタイルシートに、ユーザーがページを印刷するときに表示したくない要素を非表示にすることができます。 print.cssを書き、何を印刷したいと何がいけないことを指定した方がよい

http://meyerweb.com/eric/articles/webrev/200001.html

0

(ダーリンが指摘したように)すべてを行う必要があるリンクがためにCSSファイルを追加するにはを参照してください。あなたの印刷レイアウト。あなたのCSSファイルが唯一の正しいmediaタイプを使用して印刷するために呼び出されたことを確認する必要があります。

0

これは、私は通常、いくつかのjQueryを使ってそれを行う方法です。

$(function(){ 
// Hook the print link 
$("a").attr("href", "javascript:void(0)").click(function(){ 
// Print the DIV that you want to be printble 
// Maybe you want to change the style of that printable div. 
    $(".printable").print(); 
// Cancel click event. 
return(false); 
}); 
}); 

考えはということですあなたは印刷可能にしたいと思っているdivを持っていて、印刷ボタンを引っ張って、あなたがそのdivで必要なことをしてからそれを印刷します。

0

あなたはこのような何か試すことができます。

@media print { 
    body { 
     background-color: white 
    } 

    div.header, 
    div.footer { 
     display: none 
    } 
} 
関連する問題