私は少し面倒な問題があります。app-header-layoutのshadow DOMのオーバーライドスタイル
<app-header-layout>
<app-header>
<app-toolbar> ... </app-toolbar>
</app-header>
<main> ... </main>
</app-header-layout>
だがapp-header
は200pxの高さを持っているとしましょう:私は、次のテンプレートを持っています。ページが読み込まれると、app-header-layout
シャドウDOMの#contentContainer
には、自動的にの現在の高さに基づいて、200pxのpadding-top
が割り当てられます。
は、その後、私はapp-header
を削除し、印刷するためのメディアクエリをしている:私は、印刷ダイアログを開いたときに、app-header
は表示されません
@media only print {
app-header {
display: none;
}
}
が、#contentContainer
はまだ200pxののpadding-top
を持っています。私はapp-header-layout
がresetLayout()
メソッドを持っていることを知っていますが、印刷ダイアログが開いた後にレイアウトをリセットすることができたとしても、ダイアログを閉じると元の値に戻ります。
私の質問は次のとおりです。padding-top
の#contentContainer
は、印刷のメディアクエリがアクティブなときに0にすることができますか?言い換えれば、app-header-layout
のshadow DOMの#contentContainer
のスタイルをどのように上書きできますか?私はapp-header-layout::shadow #contentContainer
を試しましたが、動作しませんでした。あなたはまた、追加またはJavaScriptのビットとCSSクラスを削除して試みることができる何
フィドルを作ることは可能ですか? – Ofisora
これをフィドルで紹介するのは簡単なことではありません。私はどのように印刷メディアのクエリを処理しません。私はあなたに簡単に何かを見せてもらうために試してみて、質問を更新します。 – Raph