2017-01-07 17 views
-2

を上書きします: Background color not showing in print previewブートストラップ印刷がCSS

私は私の実際のテキストの色を取得する方法を、まだ考え出したていません。 Bootstrapクラスで印刷に表示されたdivのみを表示したいのですが、プレビューですべての色付けが失われています。

JsFiddle

@media print { 
    .test { 
    background-color: #1a4567 !important; 
    -webkit-print-color-adjust: exact; 
    } 
} 

私はメディアプリントCSSを追加する場合、それはどのようなそれが必要ありませんが、私は、テキストの色ではないCSSで設定された色をしたいです。

+0

を設定されていますか? – epascarello

+0

はい。 jsFiddleからbootstrap-cdnを削除すると、テキストカラーで印刷されます。 – AHahn

答えて

1

編集コメントに基づいて:

  1. ピュアJS:document.getElementById()

    あなたは2つの方法ではJavaScriptのstyle.setProperty()メソッドを使用して!importantを追加することができます。

  2. jQueryハイブリッド: jQueryの.each()の中にラップします。以下

どちらの例は:お使いのプリンタの設定は、背景色とイメージを印刷することができるように

$('#filePrintPreview').html("TEST"); 
 
//way 1: pure JS exmple 
 
document.getElementById('filePrintPreview').style.setProperty('color', 'red', 'important'); 
 
//way 2: wrapped inside jQuery's each() example 
 
$('h3').each(function() { 
 
    this.style.setProperty('color', '#12FF12', 'important'); 
 
});
@media print { 
 
    .test { 
 
    background-color: #1a4567 !important; 
 
    -webkit-print-color-adjust: exact; 
 
    } 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-12 test"> 
 
    <h3>Heading</h3> 
 
    <div class="box no-border shadow" id="filePrintPreview" style="padding: 2px; word-wrap: break-word; overflow-wrap: break-word; white-space: pre-line;"> 
 
    </div> 
 
</div> 
 

 
<button class="btn btn-flat btn-primary btn-sm" style="margin-top:15px;" onclick=" window.print();">Print 
 
</button>

+0

私の場合、重要なやり方は明らかに機能します。しかし、それは私が必要とするものではありません。私は、印刷されたテキストの色を選択するユーザーを持っています。 !重要なタグをjQuery経由で設定できますか? – AHahn

+0

DrDreo、そうだけど、JSでもできるが、上で編集した、願望が助けになる。よろしく。 – Syden

+0

私はそのように色を設定することは考えていません!どうもありがとうございました。 !importantを設定することは苦痛ですが、色分けして印刷する必要があります。これはまさにその仕組みです。 – AHahn