1.1 --- a/css-overflow/Overview.bs Tue Feb 24 14:42:29 2015 +0900 1.2 +++ b/css-overflow/Overview.bs Tue Feb 24 23:47:34 2015 +0900 1.3 @@ -464,50 +464,96 @@ 1.4 'overflow-x' and 'overflow-y' instead? 1.5 </p> 1.6 1.7 -<h2 id="fragmentation-properties">Fragmentation properties</h2> 1.8 +<h2 id="fragmentation">Fragmentation of overflow</h2> 1.9 1.10 -Issue: This section is a WIP, and currently just holds bits of information that need to be massaged into proper form. 1.11 + <pre class=propdef> 1.12 + Name: continue 1.13 + Value: ''auto'' | ''overflow'' | ''paginate'' | ''fragments'' | ''discard'' | ''next'' 1.14 + Initial: ''auto'' 1.15 + Applies to: block containers [[!CSS21]], flex containers [[!CSS3-FLEXBOX]], and grid containers [[!CSS3-GRID-LAYOUT]] 1.16 + Inherited: no 1.17 + Percentages: N/A 1.18 + Media: visual 1.19 + Computed value: see below 1.20 + Animatable: no 1.21 + Canonical order: <abbr title="follows order of property value definition">per grammar</abbr> 1.22 + </pre> 1.23 1.24 - | ''paged-x'' | ''paged-y'' | ''paged-x-controls'' | ''paged-y-controls'' | ''fragments'' 1.25 +Issue: Naming is preliminary. 1.26 +This was initially proposed as 1.27 +"fragmentation: auto | none | break | clone | page" 1.28 +in <a href="https://lists.w3.org/Archives/Public/www-style/2015Jan/0357.html">https://lists.w3.org/Archives/Public/www-style/2015Jan/0357.html</a> 1.29 1.30 - <p class="issue"> 1.31 - Are all 4 of the ''paged-*'' values really needed? 1.32 - </p> 1.33 +Note: ''continue: fragments'' replaces "overflow:fragments" 1.34 +from earlier versions of this specification, 1.35 +while ''continue: paginate'' replaces "overflow: paged-x | paged-y | paged-x-controls | paged-y-controls" 1.36 1.37 - <dl> 1.38 - <dt><dfn>paged-x</dfn> 1.39 - <dt><dfn>paged-y</dfn> 1.40 - <dt><dfn>paged-x-controls</dfn> 1.41 - <dt><dfn>paged-y-controls</dfn> 1.42 +Issue: The definitions below are vaguely worded, and need to be more specific. 1.43 + 1.44 + <dl dfn-for="continue" dfn-type="value"> 1.45 + <dt><dfn>auto</dfn> 1.46 + <dd>Behavior varies between the other values, depending on contex. 1.47 + See the section below on computed values for details. 1.48 + 1.49 + <dt><dfn>overflow</dfn> 1.50 + <dd>Content that doesn't fit overflows, according to the 'overflow' property 1.51 + 1.52 + <dt><dfn>discard</dfn> 1.53 + <dd>Content that doesn't fit is discarded at a fragmentation break 1.54 + 1.55 + Note: generalized from region-fragment: break; on the last region of a region chain 1.56 + <dt><dfn>next</dfn> 1.57 + <dd>Content that doesn't fit is pushed to the next region 1.58 + if the element is part of a region chain, 1.59 + or to the next page if the element is part of a page chain. If 1.60 + there isn't a next region or page, it overflows. 1.61 + 1.62 + Note: Behavior could have been to discard 1.63 + but discarding anything should be a very explicit behavior 1.64 + 1.65 + <dt><dfn>paginate</dfn> 1.66 + <dd>Content that doesn't fit paginates. 1.67 + This creates a paginated view inside the element 1.68 + similar to the way that 'overflow: scroll' creates a scrollable view. 1.69 + 1.70 + Pages can be styled with @page rules. 1.71 + 1.72 + Note: Print is effectively "continue: paginate" on the root. 1.73 + 1.74 + See <a href="#paginated-overflow">paginated overflow</a> 1.75 <dt><dfn>fragments</dfn> 1.76 - <dd> 1.77 - These values are collectively the <dfn dfn>fragmenting values</dfn>; 1.78 - they are defined in the sections on 1.79 - <a href="#paginated-overflow">paginated overflow</a> and 1.80 - <a href="#fragment-overflow">fragment overflow</a>. 1.81 - </dd> 1.82 + <dd>content that doesn't fit causes the element to copy itself and continue laying out. 1.83 + See <a href="#fragment-overflow">fragment overflow</a>. 1.84 </dl> 1.85 1.86 - <div class="issue"> 1.87 - Having split the overflow and fragmentation properties, this issue is no longer relevant, but there are 1.88 - useful bits of information in the thread, so I am leaving it here for now. 1.89 +Issue: There is some overlap between overflow, discard and next. 1.90 +Only 2 of the 3 ever make sense in any situation, 1.91 +even though it isn't always the same two. 1.92 +It may be possible to reduce this to 2 values. 1.93 +An earlier proposal combined discard and next into break, 1.94 +although this had the downside of making discard a non explicit behavior. 1.95 1.96 - There are <a href="http://lists.w3.org/Archives/Public/www-style/2012May/1197.html">discussions</a> 1.97 - about how overflow, overflow-style, overflow-x and overflow-y 1.98 - should work and interact with each other. 1.99 - Until consensus on this topic is reached, 1.100 - it is not completely clear which of these 1.101 - should be used for 1.102 - paged-x | paged-y | paged-x-controls | paged-y-controls | fragments 1.103 - </div> 1.104 - 1.105 +Note: For background discussions leading to this property, see these threads: 1.106 +<a href="http://lists.w3.org/Archives/Public/www-style/2012May/1197.html">discussion of overflow, overflow-x, overflow-y and overflow-style</a> and 1.107 +<a href="https://lists.w3.org/Archives/Public/www-style/2015Jan/0357.html">proposal for a fragmentation property</a> 1.108 1.109 <h2 id="paginated-overflow">Paginated overflow</h2> 1.110 1.111 -<p class="issue">overflow:paginate or overflow:pages (or paged-x, paged-y, paged-x-controls, paged-y-controls as [[CSS3GCPM]] has?)</p> 1.112 +This section introduces and defines the meaning of the ''continue/paginate'' value of the 'continue' property. 1.113 1.114 -<p class="issue">Ability to display N pages at once 1.115 -rather than just one page at once?</p> 1.116 +Issue: Write this section 1.117 + 1.118 +Issue: The initial proposal in [[CSS3GCPM]] and implemantation from Opera 1.119 +used 4 values instead of ''continue/paginate'': 1.120 +"paged-x | paged-y | paged-x-controls | paged-y-controls". 1.121 +Should this property also include these values, 1.122 +or are they better handled as separate properties? 1.123 +(e.g.: "pagination-layout: auto | horizontal | vertical", "pagination-controls: auto | none") 1.124 + 1.125 +Issue: Ability to display N pages at once 1.126 +rather than just one page at once? 1.127 +Could this be a value of "pagination-layout", such as: 1.128 +"pagination-layout: horizontal 2;" 1.129 1.130 <p class="issue"> 1.131 The current implementation of paginated overflow uses 1.132 @@ -515,25 +561,22 @@ 1.133 rather than the 'overflow-style' property as proposed 1.134 in the [[CSS3GCPM]] draft 1.135 (which also matches the [[CSS3-MARQUEE]] proposal). 1.136 - We should probably switch away from 'overflow-style', 1.137 - but that's not 100% clear. 1.138 + or the 'continue' property as described here. 1.139 </p> 1.140 1.141 <h2 id="fragment-overflow">Fragment overflow</h2> 1.142 1.143 - <p> 1.144 - This section introduces and defines the meaning of 1.145 - the new ''fragments'' value of the 'overflow' property. 1.146 - </p> 1.147 +This section introduces and defines the meaning of 1.148 +the ''continue/fragments'' value of the 'continue' property. 1.149 1.150 <p> 1.151 - When the computed value of 'overflow' for an element is ''fragments'', 1.152 + When the computed value of 'continue' for an element is ''continue/fragments'', 1.153 and implementations would otherwise have created a box for the element, 1.154 then implementations must create a sequence of <dfn>fragment box</dfn>es 1.155 for that element. 1.156 - (It is possible for an element with ''overflow: fragments'' 1.157 + (It is possible for an element with ''continue: fragments'' 1.158 to generate only one <a>fragment box</a>. 1.159 - However, if an element's computed 'overflow' is not ''fragments'', 1.160 + However, if an element's computed 'continue' is not ''continue/fragments'', 1.161 then its box is not a <a>fragment box</a>.) 1.162 Every <a>fragment box</a> is a fragmentation container, 1.163 and any overflow 1.164 @@ -579,7 +622,7 @@ 1.165 equal-sized cards</title> 1.166 <style> 1.167 .in-cards { 1.168 - overflow: fragments; 1.169 + continue: fragments; 1.170 1.171 width: 13em; 1.172 height: 8em; 1.173 @@ -608,7 +651,7 @@ 1.174 </div> 1.175 1.176 <p class="issue"> 1.177 - We should specify that ''overflow: fragments'' does not apply 1.178 + We should specify that ''continue: fragments'' does not apply 1.179 to at least some table parts, 1.180 and perhaps other elements as well. 1.181 We need to determine exactly which ones. 1.182 @@ -669,11 +712,11 @@ 1.183 <h4 id="style-of-fragments">Styling of fragments</h4> 1.184 1.185 <p class="issue"> 1.186 - Should this apply to fragment overflow only, 1.187 - or also to paginated overflow? 1.188 + Should this apply to continue:fragments only, 1.189 + or also to continue:paginate? 1.190 (If it applies, 1.191 then stricter property restrictions would be needed 1.192 - for paginated overflow.) 1.193 + for continue:paginate.) 1.194 </p> 1.195 1.196 <p> 1.197 @@ -704,7 +747,7 @@ 1.198 <table class="source-demo-pair"><tr><td><pre><!DOCTYPE HTML> 1.199 <style> 1.200 .bouncy-columns { 1.201 - overflow: fragments; 1.202 + continue: fragments; 1.203 width: 6em; 1.204 height: 10em; 1.205 float: left; 1.206 @@ -731,19 +774,15 @@ 1.207 </div> 1.208 1.209 <p> 1.210 - Styling an ''::nth-fragment()'' pseudo-element with the 'overflow' 1.211 + Styling an ''::nth-fragment()'' pseudo-element with the 'continue' 1.212 property does take effect; 1.213 if a <a>fragment box</a> has a 1.214 - computed value of 'overflow' other than ''fragments'' 1.215 + computed value of 'continue' other than ''fragments'' 1.216 then that fragment box is the last fragment. 1.217 - However, overriding 'overflow' on the first fragment 1.218 + However, overriding 'continue' on the first fragment 1.219 does not cause the <a>fragment box</a> not to exist; 1.220 whether there are fragment boxes at all is determined by 1.221 the computed value of overflow for the element. 1.222 - <span class="issue">Need to reword this to refer to the 1.223 - appropriate choice of 'overflow-x' or 'overflow-y', 1.224 - and then point to rule about the handling of the other one 1.225 - of 'overflow-x' or 'overflow-y'.</span> 1.226 </p> 1.227 1.228 <p> 1.229 @@ -767,8 +806,8 @@ 1.230 Specifying other values of 'display', 'position', 1.231 or 'float' is permitted, but is not allowed to change 1.232 the computed value of 'display-inside'. 1.233 - (Since 'overflow', 'overflow-x', and 'overflow-y' only 1.234 - apply to block containers, flex containers, and grid containers 1.235 + (Since 'continue' only 1.236 + applies to block containers, flex containers, and grid containers 1.237 the computed value of 'display-inside' is always 1.238 ''display-inside/block'', ''display-inside/flex'', or 1.239 ''display-inside/grid''. 1.240 @@ -811,7 +850,7 @@ 1.241 <table class="source-demo-pair"><tr><td><pre><!DOCTYPE HTML> 1.242 <style> 1.243 .article { 1.244 - overflow: fragments; 1.245 + continue: fragments; 1.246 } 1.247 .article::nth-fragment(1) { 1.248 font-size: 1.5em; 1.249 @@ -834,9 +873,8 @@ 1.250 <h4 id="style-in-fragments">Styling inside fragments</h4> 1.251 1.252 <p class="issue"> 1.253 - Should this apply to fragment overflow only, 1.254 - or also to paginated overflow, 1.255 - or even to pagination across pages? 1.256 + Should this apply to continue:fragments only, 1.257 + or also to continue:paginate? 1.258 </p> 1.259 1.260 <p> 1.261 @@ -886,7 +924,7 @@ 1.262 <table class="source-demo-pair"><tr><td><pre><!DOCTYPE HTML> 1.263 <style> 1.264 .dark-columns { 1.265 - overflow: fragments; 1.266 + continue: fragments; 1.267 width: 6em; 1.268 height: 10em; 1.269 float: left; 1.270 @@ -993,7 +1031,7 @@ 1.271 <table class="source-demo-pair"><tr><td><pre><!DOCTYPE HTML> 1.272 <style> 1.273 .article { 1.274 - overflow: fragments; 1.275 + continue: fragments; 1.276 } 1.277 .article::first-letter { 1.278 font-size: 2em; 1.279 @@ -1020,7 +1058,7 @@ 1.280 1.281 <p class="issue"> 1.282 This specification should define useful behavior 1.283 - for all values of 'overflow' 1.284 + for all values of 'overflow' and 'continue' 1.285 in static media (such as print). 1.286 Current implementation behavior is quite poor and 1.287 produces unexpected results when authors have not considered