Skip to content

Commit

Permalink
[css-break-3] Define box-split fragments to be affected by box-decora…
Browse files Browse the repository at this point in the history
…tion-break. Fixes #1706
  • Loading branch information
fantasai committed Oct 4, 2018
1 parent 9e8cbec commit 4f59133
Showing 1 changed file with 53 additions and 8 deletions.
61 changes: 53 additions & 8 deletions css-break-3/Overview.bs
Original file line number Diff line number Diff line change
Expand Up @@ -1040,10 +1040,19 @@ Fragmented Borders and Backgrounds: the 'box-decoration-break' property</h3>
on the left, the value ''slice'', on the right the value ''clone''.
</div>

<p>UAs may also apply 'box-decoration-break' to control rendering
at bidi-imposed breaks, i.e. when bidi reordering causes an inline
to split into non-contiguous fragments. Otherwise such breaks are
always handled as ''slice''.
<p>UAs should also apply 'box-decoration-break'
to control rendering at bidi-imposed breaks--
i.e. when bidi reordering causes an inline to split into non-contiguous fragments--
and/or at display-type&ndash;imposed breaks--
i.e. when a higher-level <a>display type</a>
(such as a <a>block-level box</a> / <a href="https://www.w3.org/TR/css-multicol-1/#spanning-columns">column spanner</a>)
splits an incompatible ancestor
(such as an <a>inline box</a> / <a>block container</a>).
Otherwise such breaks must be handled as ''slice''.
See [[css-writing-modes-3#bidi-algo|Applying the Bidirectional Reorderign Algorithm]]
in [[css-writing-modes-3#text-direction|CSS Writing Modes]],
<a href="https://www.w3.org/TR/CSS2/visuren.html#box-gen">CSS2&sect;9.2 Block-level elements and block boxes</a>,
and <a href="https://www.w3.org/TR/css-multicol-1/#spanning-columns">CSS Multi-column Layout &sect;6 Spanning Columns</a>.

<p class=note>
For inline elements, which side of a fragment is considered the broken edge
Expand Down Expand Up @@ -1162,10 +1171,46 @@ Changes</h2>
<a href="https://www.w3.org/TR/2017/CR-css-break-3-20170209/">9 February 2017 Candidate Recommendation</a>:

<ul>
<li id="change-2018-aliasing">Clarify the mechanism of aliasing for the page-break-* properties
<blockquote>
<p>by treating the 'page-break-*' properties as <del>shorthands</del> <ins>[=legacy shorthands=]</ins> for the 'break-*' properties
</blockquote>
<li id="change-2018-bidi-split-breaks">
Clarify that bidi-imposed breaks and block-in-inline breaks create fragments,
and that their formatting should be controlled by 'box-decoration-break'.
(<a href="https://github.com/w3c/csswg-drafts/issues/1706">Issue 1706</a>)
<blockquote>
<ins><p class="note">
A box can be broken into multiple <a>fragments</a>
also due to bidi reordering of text
(see [[css-writing-modes-3#bidi-algo|Applying the Bidirectional Reorderign Algorithm]]
in [[css-writing-modes-3#text-direction|CSS Writing Modes]])
or higher-level <a>display type</a> box splitting,
e.g. <a href="https://www.w3.org/TR/CSS2/visuren.html#img-anon-block">block-in-inline splitting</a>
(see <a href="https://www.w3.org/TR/CSS2/visuren.html#box-gen">CSS2&sect;9.2</a>)
or <a href="https://www.w3.org/TR/css-multicol-1/#spanning-columns">column-spanner-in-block</a> splitting
(see <a href="https://www.w3.org/TR/css-multicol-1/#spanning-columns">CSS Multi-column Layout</a>).
The division into <a>box fragments</a> in these cases
does not depend on layout (sizing/positioning of content).</p></ins>
</blockquote>
<blockquote>
<p>UAs <del>may</del><ins>should</ins> also apply 'box-decoration-break' to control rendering
at bidi-imposed breaks--
i.e. when bidi reordering causes an inline
to split into non-contiguous fragments<ins>--
and/or at display-type&ndash;imposed breaks--
i.e. when a higher-level <a>display type</a>
(such as a <a>block-level box</a> / <a href="https://www.w3.org/TR/css-multicol-1/#spanning-columns">column spanner</a>)
splits an incompatible ancestor
(such as an <a>inline box</a> / <a>block container</a>)</ins>.
Otherwise such breaks must be handled as ''slice''.
<ins>See [[css-writing-modes-3#bidi-algo|Applying the Bidirectional Reorderign Algorithm]]
in [[css-writing-modes-3#text-direction|CSS Writing Modes]],
<a href="https://www.w3.org/TR/CSS2/visuren.html#box-gen">CSS2&sect;9.2 Block-level elements and block boxes</a>,
and <a href="https://www.w3.org/TR/css-multicol-1/#spanning-columns">CSS Multi-column Layout &sect;6 Spanning Columns</a>.</ins></p>
</blockquote>
<li id="change-2018-aliasing">
Clarify the mechanism of aliasing for the page-break-* properties.
(<a href="https://github.com/w3c/csswg-drafts/issues/866">Issue 866</a>)
<blockquote>
<p>by treating the 'page-break-*' properties as <del>shorthands</del> <ins>[=legacy shorthands=]</ins> for the 'break-*' properties
</blockquote>
</ul>

<p>The following significant changes were made since the
Expand Down

0 comments on commit 4f59133

Please sign in to comment.