Skip to content

Commit cdf87c2

Browse files
committed
Define 'monolithic' elements, and define handling of 'overflow: hidden'.
1 parent 0d5f41a commit cdf87c2

2 files changed

Lines changed: 47 additions & 20 deletions

File tree

css3-break/Overview.html

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -712,6 +712,20 @@ <h2 id=breaking-rules><span class=secno>4. </span> Rules for Breaking</h2>
712712
breaks</a> the UA has to choose among the possible breaks that are
713713
allowed.
714714

715+
<p> Some content is not fragmentable, for example many types of <a
716+
href="">replaced elements</a> (such as images or video), scrollable
717+
elements, or a single line of text content. Such content is considered
718+
<dfn id=monolithic>monolithic</dfn>: it contains no possible break points.
719+
In addition to any content which is not fragmentable, UAs may consider as
720+
<a href="#monolithic"><i>monolithic</i></a> any elements with &lsquo;<code
721+
class=property>overflow</code>&rsquo; set to &lsquo;<code
722+
class=css>auto</code>&rsquo; or &lsquo;<code
723+
class=css>scroll</code>&rsquo; and any elements with &lsquo;<code
724+
class=css>overflow: hidden</code>&rsquo; and a non-&lsquo;<code
725+
class=css>auto</code>&rsquo; <a
726+
href="http://www.w3.org/TR/css3-writing-modes/#extent">logical height</a>
727+
(and no specified maximum logical height).
728+
715729
<h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
716730

717731
<p> Fragmentation splits boxes in the block flow dimension. In
@@ -757,16 +771,13 @@ <h3 id=possible-breaks><span class=secno>4.1. </span> Possible Break Points</h3>
757771
href="#break-after"><code class=property>break-after</code></a>&rsquo;
758772
value on a last-child box is propagated to its container.
759773

760-
<p id=monolithic> The UA is not required to fragment the contents of
761-
replaced or scrollable elements (e.g. those with &lsquo;<code
762-
class=property>overflow</code>&rsquo; set to &lsquo;<code
763-
class=css>auto</code>&rsquo; or &lsquo;<code
764-
class=css>scroll</code>&rsquo;), and may instead either slice the
765-
element's graphical representation as necessary to fragment it or treat
766-
its box as monolithic (unbreakable) and overflow the fragmentainer. In
767-
both cases it must treat the element as having &lsquo;<code
768-
class=css>break-inside: avoid</code>&rsquo;, i.e. only slice or overflow
769-
at the fragmentainer edge if there are no <a
774+
<p id=monolithic-breaking> The UA is not required to fragment the contents
775+
of <a href="#monolithic"><i>monolithic</i></a> elements, and may instead
776+
either slice the element's graphical representation as necessary to
777+
fragment it or treat its box as unbreakable and overflow the
778+
fragmentainer. In both cases it must treat the element as having
779+
&lsquo;<code class=css>break-inside: avoid</code>&rsquo;, i.e. only slice
780+
or overflow at the fragmentainer edge if there are no <a
770781
href="#possible-breaks">possible break points</a> on the fragmentainer.
771782

772783
<p> When paginating, if there are no possible break points below the top of
@@ -979,8 +990,8 @@ <h3 id=varying-size-boxes><span class=secno>5.1. </span> Breaking into
979990
element were fragmented across fragmentainers of this size. Progress is
980991
measured in percentages (not absolute lengths) of used/available
981992
fragmentainer extent and in amount of used/remaining content. However,
982-
when laying out scrollable elements and certain replaced elements the UA
983-
may instead maintain a consistent measure and resolved extent across
993+
when laying out <a href="#monolithic"><i>monolithic</i></a> elements, the
994+
UA may instead maintain a consistent measure and resolved extent across
984995
fragmentainers.
985996

986997
<li><strong class=issue>Option A:</strong> Fragments of boxes that began
@@ -1511,6 +1522,9 @@ <h2 class=no-num id=index>Index</h2>
15111522
<li>line break, <a href="#line-break"
15121523
title="line break"><strong>4.2.</strong></a>
15131524

1525+
<li>monolithic, <a href="#monolithic"
1526+
title=monolithic><strong>4.</strong></a>
1527+
15141528
<li>orphans, <a href="#orphans" title=orphans><strong>3.2.</strong></a>
15151529

15161530
<li>page break, <a href="#page-break"

css3-break/Overview.src.html

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,19 @@ <h2 id="breaking-rules">
483483
among the possible breaks that are allowed.
484484
</p>
485485

486+
<p>
487+
Some content is not fragmentable, for example many types of
488+
<a href="">replaced elements</a> (such as images or video),
489+
scrollable elements, or a single line of text content.
490+
Such content is considered <dfn>monolithic</dfn>:
491+
it contains no possible break points.
492+
In addition to any content which is not fragmentable,
493+
UAs may consider as <i>monolithic</i> any elements with
494+
'overflow' set to ''auto'' or ''scroll'' and
495+
any elements with ''overflow: hidden'' and a non-''auto''
496+
<a href="http://www.w3.org/TR/css3-writing-modes/#extent">logical height</a>
497+
(and no specified maximum logical height).
498+
486499
<h3 id="possible-breaks">
487500
Possible Break Points</h3>
488501

@@ -533,11 +546,11 @@ <h3 id="possible-breaks">
533546
a 'break-before' value on a first-child box is propagated to its container.
534547
Likewise a 'break-after' value on a last-child box is propagated to its container.
535548
</p>
536-
<p id=monolithic>
537-
The UA is not required to fragment the contents of replaced or scrollable elements
538-
(e.g. those with 'overflow' set to ''auto'' or ''scroll''), and may instead
539-
either slice the element's graphical representation as necessary to fragment it
540-
or treat its box as monolithic (unbreakable) and overflow the fragmentainer.
549+
<p id=monolithic-breaking>
550+
The UA is not required to fragment the contents of <i>monolithic</i> elements,
551+
and may instead either slice the element's graphical representation
552+
as necessary to fragment it
553+
or treat its box as unbreakable and overflow the fragmentainer.
541554
In both cases it must treat the element as having ''break-inside: avoid'',
542555
i.e. only slice or overflow at the fragmentainer edge
543556
if there are no <a href="#possible-breaks">possible break points</a>
@@ -751,9 +764,9 @@ <h3 id="varying-size-boxes">
751764
across fragmentainers of this size. Progress is measured in percentages
752765
(not absolute lengths) of used/available fragmentainer extent and in amount of
753766
used/remaining content.
754-
However, when laying out scrollable elements and certain replaced
755-
elements the UA may instead maintain a consistent measure and resolved
756-
extent across fragmentainers.
767+
However, when laying out <i>monolithic</i> elements,
768+
the UA may instead maintain a consistent measure and resolved extent
769+
across fragmentainers.
757770
</li>
758771
<li><strong class="issue">Option A:</strong>
759772
Fragments of boxes that began on a previous fragmentainer must start at

0 commit comments

Comments
 (0)