div
いくつかの とを含む HTML レポートを設計しましたtable
。現在、私のクライアントは、印刷された各ページの上部に繰り返しヘッダーを配置するように求めています。私の知る限り、プレーンな CSS と HTML を使用してこれを行うことはできません。試しに、ヘッダー div 要素をdisplay: table-header-group
表示するために適用した広告内に配置し、レポートの他のすべての要素をメイン テーブルの行として配置しましたが、成功しませんでした。
@print { .header {position: fixed; top: 10px} }
回避策は、各ページの上部で .header 要素を繰り返すために使用することです。しかし、この作業では、新しい各ページの上部に空白を配置する必要があります。それ以外の場合、固定ヘッダー要素はテーブルの上部で他の要素と混合されます。別の回避策として、レンダリング時に要素の高さを計算し、必要に応じて手動で改ページすることができます。
page-break-before: always;
したがって、ページの読み込み時に実行できる Javascript ライブラリがあり、ページの div 要素のすべてのレンダリング時の高さを計算し、A4 用紙の高さを超える各 div の前に高さゼロの div 要素を配置するかどうかを知りたいです。たとえば、次の div の結果、レンダリング時の高さが 14、10、8、9、6、13、および 6 センチメートルになるとします。ライブラリに改ページ ダミー ダイブ要素を指定された場所に配置してもらいたい:
<div id="d1">...</div>
<div id="d2">...</div>
<!-- here, because 14+10+8 exceeds 30cm -->
<div id="d3">...</div>
<div id="d4">...</div>
<div id="d5">...</div>
<!-- here, because 8+9+6+13 exceeds 30cm -->
<div id="d6">...</div>
<div id="d7">...</div>