box-decoration-breakプロパティは、ボックスが改行する際の表示形式を指定する際に使用します。
ボックスが改ページやカラムの改行で分割されたり、インライン要素が改行で分割される場合に、
分割されたボックスの断片をひとつの連続したボックスの一部とするか(slice)、分割されたボックスの断片それぞれにボーダーやパディングや背景を適用するか(slice)を指定します。
box-decoration-breakプロパティを指定した場合の印刷結果や表示は、以下のようになるかもしれません。
左が値にsliceを指定した場合、右が値にcloneを指定した場合です。
インライン要素の改行される位置は、そのインライン要素を含むブロックではなく、インライン要素の進行方向で決まります。
例えば、direction:ltr(左から右)が指定されたブロック内に、direction:rtl(右から左)が指定されたインライン要素がある場合、
インライン要素はボックスの左側で改行されるでしょう。
div.sample1 {
width:300px; height:300px; border:double 10px #000099;
background-image:url(“images/bg_gradation.png”);
background-repeat:no-repeat;
box-decoration-break:slice;
}
div.sample1 p {
page-break-before:always;
page-break-after:always;
}
div.sample2 {
width:300px; height:300px; border:double 10px #000099;
background-image:url(“images/bg_gradation.png”);
background-repeat:no-repeat;
box-decoration-break:clone;
}
div.sample2 p {
page-break-before:always;
page-break-after:always;
}
<html>
<head>
<link rel=”stylesheet” href=”sample.css”
type=”text/css”>
</head>
<body>
<div class=”sample1″>
<p>box-decoration-break:slice; を指定</p>
<p>ボックス全体にスタイルが適用された後で分割されたような状態になります。</p>
</div>
<div class=”sample2″>
<p>box-decoration-break:clone; を指定</p>
<p>分割されたボックスの断片それぞれにスタイルが適用されます。</p>
</div>
</body>
</html>
box-decoration-break:slice; を指定
ボックス全体にスタイルが適用された後で分割されたような状態になります。
box-decoration-break:clone; を指定
分割されたボックスの断片それぞれにスタイルが適用されます。