Fri, 20 Jul 2012 14:08:43 -0700
make some negative values invalid
css3-exclusions/Exclusions.src.html | file | annotate | diff | comparison | revisions | |
css3-exclusions/Overview.html | file | annotate | diff | comparison | revisions |
1.1 --- a/css3-exclusions/Exclusions.src.html Fri Jul 20 14:24:16 2012 -0400 1.2 +++ b/css3-exclusions/Exclusions.src.html Fri Jul 20 14:08:43 2012 -0700 1.3 @@ -1222,12 +1222,22 @@ 1.4 <dt>rectangle([<length>|<percentage>]{4} [ curve [<length>|<percentage>]{1,2} ]? )</dt> 1.5 <dd> 1.6 <ul> 1.7 - <li>The four values represent <strong>x, y, width and height</strong> - define the bounding box of the rectangle</li> 1.8 <li> 1.9 - The two 'curve' values represent <strong> 1.10 - rx</strong> and <strong>ry</strong> - define the rounded rectangles, the <strong>x</strong> 1.11 - and <strong>y</strong> axis and radius of the ellipse used to round off the corners 1.12 - of the rectangle 1.13 + The four values represent 1.14 + <strong>x, y, width</strong> and 1.15 + <strong>height</strong>. 1.16 + They define the bounding box 1.17 + of the rectangle. 1.18 + Negative values for width and height are invalid. 1.19 + </li> 1.20 + <li> 1.21 + The two 'curve' values represent 1.22 + <strong> rx</strong> and <strong>ry</strong>. 1.23 + For rounded rectangles they define 1.24 + the x-axis radius and y-axis radius 1.25 + of the ellipse used to round off 1.26 + the corners of the rectangle. 1.27 + Negative values for rx and ry are invalid. 1.28 </li> 1.29 </ul> 1.30 </dd> 1.31 @@ -1235,18 +1245,31 @@ 1.32 <dd> 1.33 <ul> 1.34 <li> 1.35 - The three values values represent <strong>cx</strong>, <strong>cy</strong>, 1.36 - <strong>r</strong> - The <strong>x</strong> and <strong>y</strong> axis coordinate 1.37 - of the center of the circle and the radius of the circle 1.38 + The three values values represent 1.39 + <strong>cx</strong>, 1.40 + <strong>cy</strong>, 1.41 + and <strong>r</strong>. 1.42 + They define the x-axis and y-axis coordinates 1.43 + of the center of the circle 1.44 + and the radius of the circle. 1.45 + A negative value for r is invalid. 1.46 </li> 1.47 </ul> 1.48 </dd> 1.49 <dt>ellipse([<length>|<percentage>]{4})</dt> 1.50 <dd> 1.51 <ul> 1.52 - <li>The four values represent <strong>cx</strong>, <strong>cy</strong>, <strong>rx</strong> and <strong>ry</strong> - 1.53 - The <strong>x</strong> and <strong>y</strong> coordinate of the center of the ellipse and 1.54 - the <strong>x</strong> and <strong>y</strong> axis radius of the ellipse 1.55 + <li> 1.56 + The four values represent 1.57 + <strong>cx</strong>, 1.58 + <strong>cy</strong>, 1.59 + <strong>rx</strong>, and 1.60 + <strong>ry</strong>. 1.61 + They define the x-axis and y-axis coordinates 1.62 + of the center of the ellipse 1.63 + and the x-axis and y-axis radius 1.64 + of the ellipse. 1.65 + Negative values for rx and ry are invalid. 1.66 </li> 1.67 </ul> 1.68 </dd>
2.1 --- a/css3-exclusions/Overview.html Fri Jul 20 14:24:16 2012 -0400 2.2 +++ b/css3-exclusions/Overview.html Fri Jul 20 14:08:43 2012 -0700 2.3 @@ -31,23 +31,23 @@ 2.4 2.5 <body> 2.6 <div class=head id=div-head> 2.7 - <p id=x><a href="http://www.w3.org/"><img alt=W3C height=53 id=mobile-logo 2.8 + <p><a href="http://www.w3.org/"><img alt=W3C height=53 id=mobile-logo 2.9 src="http://www.w3.org/2008/site/images/logo-w3c-mobile-lg" width=90></a> 2.10 <!--begin-logo--> 2.11 2.12 - <p id=x0><a href="http://www.w3.org/"><img alt=W3C height=48 2.13 + <p><a href="http://www.w3.org/"><img alt=W3C height=48 2.14 src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo--></p> 2.15 2.16 <h1 id=css-exclusions-module>CSS Exclusions and Shapes Module Level 3</h1> 2.17 2.18 - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 10 July 2012</h2> 2.19 + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 20 July 2012</h2> 2.20 2.21 <dl> 2.22 <dt>This version: 2.23 2.24 <dd><a 2.25 href="http://dev.w3.org/csswg/css3-exclusions/">http://dev.w3.org/csswg/css3-exclusions/</a></dd> 2.26 - <!--<dd><a href="http://www.w3.org/TR/2012/ED-css3-exclusions-20120710/">http://www.w3.org/TR/2012/WD-css3-exclusions-20120710/</a></dd>--> 2.27 + <!--<dd><a href="http://www.w3.org/TR/2012/ED-css3-exclusions-20120720/">http://www.w3.org/TR/2012/WD-css3-exclusions-20120720/</a></dd>--> 2.28 2.29 <dt>Latest version: 2.30 2.31 @@ -90,7 +90,7 @@ 2.32 with subject line "<code>[css3-exclusions] message topic</code>" 2.33 </dl> 2.34 <!--begin-copyright--> 2.35 - <p class=copyright id=copyright-copy-year-2000-w3creg-mit-erci><a 2.36 + <p class=copyright><a 2.37 href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright" 2.38 rel=license>Copyright</a> © 2012 <a href="http://www.w3.org/"><abbr 2.39 title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a 2.40 @@ -111,33 +111,30 @@ 2.41 2.42 <h2 class="no-num no-toc" id=abstract>Abstract</h2> 2.43 2.44 - <p id=css-exclusions-define-arbitrary-areas-ar> CSS Exclusions define 2.45 - arbitrary areas around which <a 2.46 + <p> CSS Exclusions define arbitrary areas around which <a 2.47 href="http://www.w3.org/TR/CSS2/visuren.html#inline-boxes">inline 2.48 content</a> (<a href="#CSS21" 2.49 rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>) content can flow. CSS 2.50 Exclusions can be defined on any CSS block-level elements. CSS Exclusions 2.51 extend the notion of content wrapping previously limited to floats. 2.52 2.53 - <p id=css-shapes-control-the-geometric-shapes->CSS Shapes control the 2.54 - geometric shapes used for wrapping inline flow content outside or inside 2.55 - an element. CSS Shapes can be applied to any element. A circle shape on a 2.56 - float will cause inline content to wrap around the circle shape instead of 2.57 - the float's bounding box. 2.58 - 2.59 - <p id=combining-css-exclusions-and-css-shapes->Combining CSS Exclusions and 2.60 - CSS Shapes allows sophisticated layouts, allowing interactions between 2.61 - shapes in complex positioning schemes. 2.62 + <p>CSS Shapes control the geometric shapes used for wrapping inline flow 2.63 + content outside or inside an element. CSS Shapes can be applied to any 2.64 + element. A circle shape on a float will cause inline content to wrap 2.65 + around the circle shape instead of the float's bounding box. 2.66 + 2.67 + <p>Combining CSS Exclusions and CSS Shapes allows sophisticated layouts, 2.68 + allowing interactions between shapes in complex positioning schemes. 2.69 2.70 <h2 class="no-num no-toc" id=status>Status of this document</h2> 2.71 <!--begin-status--> 2.72 2.73 - <p id=this-is-a-public-copy-of-the-editors-dra>This is a public copy of the 2.74 - editors' draft. It is provided for discussion only and may change at any 2.75 - moment. Its publication here does not imply endorsement of its contents by 2.76 - W3C. Don't cite this document other than as work in progress. 2.77 - 2.78 - <p id=the-archived-public-mailing-list-www-sty>The (<a 2.79 + <p>This is a public copy of the editors' draft. It is provided for 2.80 + discussion only and may change at any moment. Its publication here does 2.81 + not imply endorsement of its contents by W3C. Don't cite this document 2.82 + other than as work in progress. 2.83 + 2.84 + <p>The (<a 2.85 href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public 2.86 mailing list <a 2.87 href="mailto:www-style@w3.org?Subject=%5Bcss3-exclusions%5D%20PUT%20SUBJECT%20HERE"> 2.88 @@ -147,12 +144,10 @@ 2.89 “css3-exclusions” in the subject, preferably like this: 2.90 “[<!---->css3-exclusions<!---->] <em>…summary of comment…</em>” 2.91 2.92 - <p id=this-document-was-produced-by-the-css-wo>This document was produced 2.93 - by the <a href="/Style/CSS/members">CSS Working Group</a> (part of the <a 2.94 - href="/Style/">Style Activity</a>). 2.95 - 2.96 - <p id=this-document-was-produced-by-a-group-op>This document was produced 2.97 - by a group operating under the <a 2.98 + <p>This document was produced by the <a href="/Style/CSS/members">CSS 2.99 + Working Group</a> (part of the <a href="/Style/">Style Activity</a>). 2.100 + 2.101 + <p>This document was produced by a group operating under the <a 2.102 href="/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent 2.103 Policy</a>. W3C maintains a <a href="/2004/01/pp-impl/32061/status" 2.104 rel=disclosure>public list of any patent disclosures</a> made in 2.105 @@ -169,244 +164,212 @@ 2.106 <!--begin-toc--> 2.107 2.108 <ul class=toc> 2.109 - <li id=introduction-><a href="#intro"><span class=secno>1. 2.110 - </span>Introduction</a> 2.111 - 2.112 - <li id=definitions-><a href="#definitions"><span class=secno>2. 2.113 - </span>Definitions</a> 2.114 - 2.115 - <li id=exclusions-3.1.-declaring-exclusions-3.1><a 2.116 - href="#exclusions"><span class=secno>3. </span>Exclusions</a> 2.117 + <li><a href="#intro"><span class=secno>1. </span>Introduction</a> 2.118 + 2.119 + <li><a href="#definitions"><span class=secno>2. </span>Definitions</a> 2.120 + 2.121 + <li><a href="#exclusions"><span class=secno>3. </span>Exclusions</a> 2.122 <ul class=toc> 2.123 - <li id=declaring-exclusions-3.1.1.-the-wrap-flo><a 2.124 - href="#declaring-exclusions"><span class=secno>3.1. </span>Declaring 2.125 - exclusions</a> 2.126 + <li><a href="#declaring-exclusions"><span class=secno>3.1. 2.127 + </span>Declaring exclusions</a> 2.128 <ul class=toc> 2.129 - <li id=the-wrap-flow-property-><a href="#wrap-flow-property"><span 2.130 - class=secno>3.1.1. </span>The ‘<code 2.131 - class=property>wrap-flow</code>’ property</a> 2.132 + <li><a href="#wrap-flow-property"><span class=secno>3.1.1. </span>The 2.133 + ‘<code class=property>wrap-flow</code>’ property</a> 2.134 </ul> 2.135 2.136 - <li id=scope-and-effect-of-exclusions-3.2.1.-th><a 2.137 - href="#scope-and-effect-of-exclusions"><span class=secno>3.2. 2.138 + <li><a href="#scope-and-effect-of-exclusions"><span class=secno>3.2. 2.139 </span>Scope and effect of exclusions</a> 2.140 <ul class=toc> 2.141 - <li id=the-wrap-margin-property-><a href="#wrap-margin-property"><span 2.142 - class=secno>3.2.1. </span>The ‘<code 2.143 - class=property>wrap-margin</code>’ property</a> 2.144 - 2.145 - <li id=the-wrap-padding-property-><a 2.146 - href="#wrap-padding-property"><span class=secno>3.2.2. </span>The 2.147 - ‘<code class=property>wrap-padding</code>’ Property</a> 2.148 + <li><a href="#wrap-margin-property"><span class=secno>3.2.1. 2.149 + </span>The ‘<code class=property>wrap-margin</code>’ property</a> 2.150 + 2.151 + 2.152 + <li><a href="#wrap-padding-property"><span class=secno>3.2.2. 2.153 + </span>The ‘<code class=property>wrap-padding</code>’ 2.154 + Property</a> 2.155 </ul> 2.156 2.157 - <li id=propagation-of-exclusions-3.3.1.-the-wra><a 2.158 - href="#propagation-of-exclusions"><span class=secno>3.3. 2.159 + <li><a href="#propagation-of-exclusions"><span class=secno>3.3. 2.160 </span>Propagation of Exclusions</a> 2.161 <ul class=toc> 2.162 - <li id=the-wrap-through-property-><a 2.163 - href="#wrap-through-property"><span class=secno>3.3.1. </span>The 2.164 - ‘<code class=property>wrap-through</code>’ Property</a> 2.165 - 2.166 - <li id=the-wrap-shorthand-property-><a 2.167 - href="#wrap-shorthand-property"><span class=secno>3.3.2. </span>The 2.168 - ‘<code class=property>wrap</code>’ Shorthand Property</a> 2.169 + <li><a href="#wrap-through-property"><span class=secno>3.3.1. 2.170 + </span>The ‘<code class=property>wrap-through</code>’ 2.171 + Property</a> 2.172 + 2.173 + <li><a href="#wrap-shorthand-property"><span class=secno>3.3.2. 2.174 + </span>The ‘<code class=property>wrap</code>’ Shorthand 2.175 + Property</a> 2.176 </ul> 2.177 2.178 - <li id=exclusions-order-><a href="#exclusions-order"><span 2.179 - class=secno>3.4. </span>Exclusions order</a> 2.180 - 2.181 - <li id=processing-model-3.5.1.-description-3.5.><a 2.182 - href="#exclusions-processing-model"><span class=secno>3.5. 2.183 + <li><a href="#exclusions-order"><span class=secno>3.4. </span>Exclusions 2.184 + order</a> 2.185 + 2.186 + <li><a href="#exclusions-processing-model"><span class=secno>3.5. 2.187 </span>Processing model</a> 2.188 <ul class=toc> 2.189 - <li id=description-><a 2.190 - href="#exclusions-processing-model-description"><span 2.191 + <li><a href="#exclusions-processing-model-description"><span 2.192 class=secno>3.5.1. </span>Description</a> 2.193 2.194 - <li id=step-1-resolve-exclusion-boxes-belonging0><a 2.195 + <li><a 2.196 href="#step-1-resolve-exclusion-boxes-belonging-to-each-wrapping-context"><span 2.197 class=secno>3.5.2. </span>Step 1: resolve exclusion boxes belonging 2.198 to each <span>wrapping context</span></a> 2.199 2.200 - <li id=step-2-resolve-wrapping-contexts-and-lay0><a 2.201 + <li><a 2.202 href="#step-2-resolve-wrapping-contexts-layout-containing-blocks"><span 2.203 class=secno>3.5.3. </span>Step 2: resolve wrapping contexts and lay 2.204 out containing blocks</a> 2.205 2.206 - <li id=step-2-a-resolve-the-position-and-size-o><a 2.207 - href="#step-2-A-resolve-exclusions-position-and-size"><span 2.208 + <li><a href="#step-2-A-resolve-exclusions-position-and-size"><span 2.209 class=secno>3.5.4. </span>Step 2-A: resolve the position and size of 2.210 exclusion boxes</a> 2.211 2.212 - <li id=step-2-b-lay-out-containing-block-applyi><a 2.213 + <li><a 2.214 href="#step-2-B-layout-containing-block-applying-wrapping"><span 2.215 class=secno>3.5.5. </span>Step 2-B: lay out containing block applying 2.216 wrapping</a> 2.217 2.218 - <li id=example-3.5.6.1.-step-1-resolve-exclusio><a 2.219 - href="#exclusions-processing-model-example"><span class=secno>3.5.6. 2.220 - </span>Example</a> 2.221 + <li><a href="#exclusions-processing-model-example"><span 2.222 + class=secno>3.5.6. </span>Example</a> 2.223 <ul class=toc> 2.224 - <li id=step-1-resolve-exclusion-boxes-belonging1><a 2.225 - href="#step-1-resolve-exclusion-boxes-belonging"><span 2.226 + <li><a href="#step-1-resolve-exclusion-boxes-belonging"><span 2.227 class=secno>3.5.6.1. </span>Step 1: resolve exclusion boxes 2.228 belonging to each <span>wrapping context</span></a> 2.229 2.230 - <li id=step-2-resolve-wrapping-contexts-and-lay1><a 2.231 - href="#step-2-resolve-wrapping-contexts-and-lay"><span 2.232 + <li><a href="#step-2-resolve-wrapping-contexts-and-lay"><span 2.233 class=secno>3.5.6.2. </span>Step 2: resolve wrapping contexts and 2.234 lay out containing blocks</a> 2.235 <ul class=toc> 2.236 - <li id=resolving-rwc-1-><a href="#resolving-rwc-1"><span 2.237 - class=secno>3.5.6.2.1. </span>Resolving RWC-1</a> 2.238 - 2.239 - <li id=resolving-rwc-2-><a href="#resolving-rwc-2"><span 2.240 - class=secno>3.5.6.2.2. </span>Resolving RWC-2</a> 2.241 + <li><a href="#resolving-rwc-1"><span class=secno>3.5.6.2.1. 2.242 + </span>Resolving RWC-1</a> 2.243 + 2.244 + <li><a href="#resolving-rwc-2"><span class=secno>3.5.6.2.2. 2.245 + </span>Resolving RWC-2</a> 2.246 </ul> 2.247 </ul> 2.248 </ul> 2.249 2.250 - <li id=floats-and-exclusions-3.6.1.-similaritie><a 2.251 - href="#floats-and-exclusions"><span class=secno>3.6. </span>Floats and 2.252 - exclusions</a> 2.253 + <li><a href="#floats-and-exclusions"><span class=secno>3.6. 2.254 + </span>Floats and exclusions</a> 2.255 <ul class=toc> 2.256 - <li id=similarities-><a 2.257 - href="#floats-and-exclusions-similarities"><span class=secno>3.6.1. 2.258 - </span>Similarities</a> 2.259 - 2.260 - <li id=differences-><a href="#floats-and-exclusions-differences"><span 2.261 + <li><a href="#floats-and-exclusions-similarities"><span 2.262 + class=secno>3.6.1. </span>Similarities</a> 2.263 + 2.264 + <li><a href="#floats-and-exclusions-differences"><span 2.265 class=secno>3.6.2. </span>Differences</a> 2.266 2.267 - <li id=interoperability-3.6.3.1.-effect-of-floa><a 2.268 - href="#floats-and-exclusions-interoperability"><span 2.269 + <li><a href="#floats-and-exclusions-interoperability"><span 2.270 class=secno>3.6.3. </span>Interoperability</a> 2.271 <ul class=toc> 2.272 - <li id=effect-of-floats-on-exclusions-><a 2.273 - href="#effect-of-floats-on-exclusions"><span class=secno>3.6.3.1. 2.274 - </span>Effect of floats on exclusions</a> 2.275 - 2.276 - <li id=effect-of-exclusions-on-floats-><a 2.277 - href="#effect-of-exclusions-on-floats"><span class=secno>3.6.3.2. 2.278 - </span>Effect of exclusions on floats</a> 2.279 + <li><a href="#effect-of-floats-on-exclusions"><span 2.280 + class=secno>3.6.3.1. </span>Effect of floats on exclusions</a> 2.281 + 2.282 + <li><a href="#effect-of-exclusions-on-floats"><span 2.283 + class=secno>3.6.3.2. </span>Effect of exclusions on floats</a> 2.284 </ul> 2.285 </ul> 2.286 </ul> 2.287 2.288 - <li id=shapes-4.1.-relation-to-the-box-model-an><a href="#shapes"><span 2.289 - class=secno>4. </span>Shapes</a> 2.290 + <li><a href="#shapes"><span class=secno>4. </span>Shapes</a> 2.291 <ul class=toc> 2.292 - <li id=relation-to-the-box-model-and-float-beha><a 2.293 - href="#relation-to-box-model-and-float-behavior"><span class=secno>4.1. 2.294 - </span>Relation to the box model and float behavior</a> 2.295 - 2.296 - <li id=shapes-from-svg-syntax-4.2.1.-supported-><a 2.297 - href="#shapes-from-svg-syntax"><span class=secno>4.2. </span>Shapes 2.298 - from SVG Syntax</a> 2.299 + <li><a href="#relation-to-box-model-and-float-behavior"><span 2.300 + class=secno>4.1. </span>Relation to the box model and float 2.301 + behavior</a> 2.302 + 2.303 + <li><a href="#shapes-from-svg-syntax"><span class=secno>4.2. 2.304 + </span>Shapes from SVG Syntax</a> 2.305 <ul class=toc> 2.306 - <li id=supported-svg-shapes-><a href="#supported-svg-shapes"><span 2.307 - class=secno>4.2.1. </span>Supported SVG Shapes</a> 2.308 - 2.309 - <li id=referencing-svg-shapes-><a href="#referencing-svg-shapes"><span 2.310 - class=secno>4.2.2. </span>Referencing SVG shapes</a> 2.311 + <li><a href="#supported-svg-shapes"><span class=secno>4.2.1. 2.312 + </span>Supported SVG Shapes</a> 2.313 + 2.314 + <li><a href="#referencing-svg-shapes"><span class=secno>4.2.2. 2.315 + </span>Referencing SVG shapes</a> 2.316 </ul> 2.317 2.318 - <li id=shapes-from-image-><a href="#shapes-from-image"><span 2.319 - class=secno>4.3. </span>Shapes from Image</a> 2.320 - 2.321 - <li id=declaring-shapes-4.4.1.-the-shape-outsid><a 2.322 - href="#declaring-shapes"><span class=secno>4.4. </span>Declaring 2.323 + <li><a href="#shapes-from-image"><span class=secno>4.3. </span>Shapes 2.324 + from Image</a> 2.325 + 2.326 + <li><a href="#declaring-shapes"><span class=secno>4.4. </span>Declaring 2.327 Shapes</a> 2.328 <ul class=toc> 2.329 - <li id=the-shape-outside-property-><a 2.330 - href="#shape-outside-property"><span class=secno>4.4.1. </span>The 2.331 - ‘<code class=property>shape-outside</code>’ Property</a> 2.332 - 2.333 - <li id=the-shape-inside-property-><a 2.334 - href="#shape-inside-property"><span class=secno>4.4.2. </span>The 2.335 - ‘<code class=property>shape-inside</code>’ Property</a> 2.336 - 2.337 - <li id=the-shape-image-threshold-property-><a 2.338 - href="#shape-image-threshold-property"><span class=secno>4.4.3. 2.339 + <li><a href="#shape-outside-property"><span class=secno>4.4.1. 2.340 + </span>The ‘<code class=property>shape-outside</code>’ 2.341 + Property</a> 2.342 + 2.343 + <li><a href="#shape-inside-property"><span class=secno>4.4.2. 2.344 + </span>The ‘<code class=property>shape-inside</code>’ 2.345 + Property</a> 2.346 + 2.347 + <li><a href="#shape-image-threshold-property"><span class=secno>4.4.3. 2.348 </span>The ‘<code class=property>shape-image-threshold</code>’ 2.349 Property</a> 2.350 </ul> 2.351 </ul> 2.352 2.353 - <li id=conformance-5.1.-document-conventions-5.><a 2.354 - href="#conformance"><span class=secno>5. </span>Conformance</a> 2.355 + <li><a href="#conformance"><span class=secno>5. </span>Conformance</a> 2.356 <ul class=toc> 2.357 - <li id=document-conventions-><a href="#conventions"><span 2.358 - class=secno>5.1. </span>Document Conventions</a> 2.359 - 2.360 - <li id=conformance-classes-><a href="#conformance-classes"><span 2.361 - class=secno>5.2. </span>Conformance Classes</a> 2.362 - 2.363 - <li id=partial-implementations-><a href="#partial"><span 2.364 - class=secno>5.3. </span> Partial Implementations</a> 2.365 - 2.366 - <li id=experimental-implementations-><a href="#experimental"><span 2.367 - class=secno>5.4. </span> Experimental Implementations</a> 2.368 - 2.369 - <li id=non-experimental-implementations-><a href="#testing"><span 2.370 - class=secno>5.5. </span> Non-Experimental Implementations</a> 2.371 - 2.372 - <li id=cr-exit-criteria-><a href="#cr-exit-criteria"><span 2.373 - class=secno>5.6. </span> CR Exit Criteria</a> 2.374 + <li><a href="#conventions"><span class=secno>5.1. </span>Document 2.375 + Conventions</a> 2.376 + 2.377 + <li><a href="#conformance-classes"><span class=secno>5.2. 2.378 + </span>Conformance Classes</a> 2.379 + 2.380 + <li><a href="#partial"><span class=secno>5.3. </span> Partial 2.381 + Implementations</a> 2.382 + 2.383 + <li><a href="#experimental"><span class=secno>5.4. </span> Experimental 2.384 + Implementations</a> 2.385 + 2.386 + <li><a href="#testing"><span class=secno>5.5. </span> Non-Experimental 2.387 + Implementations</a> 2.388 + 2.389 + <li><a href="#cr-exit-criteria"><span class=secno>5.6. </span> CR Exit 2.390 + Criteria</a> 2.391 </ul> 2.392 2.393 - <li class=no-num id=acknowledgments-><a 2.394 - href="#acknowledgments">Acknowledgments</a> 2.395 - 2.396 - <li class=no-num id=references-normative-references-other-re><a 2.397 - href="#references">References</a> 2.398 + <li class=no-num><a href="#acknowledgments">Acknowledgments</a> 2.399 + 2.400 + <li class=no-num><a href="#references">References</a> 2.401 <ul class=toc> 2.402 - <li class=no-num id=normative-references-><a 2.403 - href="#normative-references">Normative references</a> 2.404 - 2.405 - <li class=no-num id=other-references-><a href="#other-references">Other 2.406 + <li class=no-num><a href="#normative-references">Normative 2.407 references</a> 2.408 + 2.409 + <li class=no-num><a href="#other-references">Other references</a> 2.410 </ul> 2.411 2.412 - <li class=no-num id=index-><a href="#index">Index</a> 2.413 - 2.414 - <li class=no-num id=property-index-><a href="#property-index">Property 2.415 - index</a> 2.416 - 2.417 - <li class=no-num id=change-log-5.7.-since-may-3rd-2012-5.8.-><a 2.418 - href="#change-log">Change Log</a> 2.419 + <li class=no-num><a href="#index">Index</a> 2.420 + 2.421 + <li class=no-num><a href="#property-index">Property index</a> 2.422 + 2.423 + <li class=no-num><a href="#change-log">Change Log</a> 2.424 <ul class=toc> 2.425 - <li id=since-may-3rd-2012-><a href="#since-may-3rd-2012"><span 2.426 - class=secno>5.7. </span>Since May 3rd 2012</a> 2.427 - 2.428 - <li id=since-december-13th-2011-><a 2.429 - href="#since-december-13th-2011"><span class=secno>5.8. </span>Since 2.430 - December 13th 2011</a> 2.431 + <li><a href="#since-may-3rd-2012"><span class=secno>5.7. </span>Since 2.432 + May 3rd 2012</a> 2.433 + 2.434 + <li><a href="#since-december-13th-2011"><span class=secno>5.8. 2.435 + </span>Since December 13th 2011</a> 2.436 </ul> 2.437 </ul> 2.438 <!--end-toc--> 2.439 2.440 <h2 id=intro><span class=secno>1. </span>Introduction</h2> 2.441 2.442 - <p id=this-section-is-not-normative.><em>This section is not 2.443 - normative.</em> 2.444 - 2.445 - <p id=the-exclusions-section-of-this-specifica> The exclusions section of 2.446 - this specification defines features that allow inline flow content to wrap 2.447 - around outside the <a href="#exclusion-area">exclusion area</a> of 2.448 - elements. 2.449 - 2.450 - <p id=the-shapes-section-of-the-specification-> The shapes section of the 2.451 - specification defines properties to control the geometry of an element's 2.452 - <a href="#exclusion-area">exclusion area</a> as well as the geometry used 2.453 - for wrapping an element's inline flow content. 2.454 + <p><em>This section is not normative.</em> 2.455 + 2.456 + <p> The exclusions section of this specification defines features that 2.457 + allow inline flow content to wrap around outside the <a 2.458 + href="#exclusion-area">exclusion area</a> of elements. 2.459 + 2.460 + <p> The shapes section of the specification defines properties to control 2.461 + the geometry of an element's <a href="#exclusion-area">exclusion area</a> 2.462 + as well as the geometry used for wrapping an element's inline flow 2.463 + content. 2.464 2.465 <h2 id=definitions><span class=secno>2. </span>Definitions</h2> 2.466 2.467 - <p id=exclusion-box-><dfn id=exclusion-box>Exclusion box</dfn> 2.468 - 2.469 - <p id=a-box-css3box-that-defines-an-exclusion-> A <a 2.470 - href="http://www.w3.org/TR/css3-box/">box</a> (<a href="#CSS3BOX" 2.471 + <p><dfn id=exclusion-box>Exclusion box</dfn> 2.472 + 2.473 + <p> A <a href="http://www.w3.org/TR/css3-box/">box</a> (<a href="#CSS3BOX" 2.474 rel=biblioentry>[CSS3BOX]<!--{{!CSS3BOX}}--></a>) that defines an <a 2.475 href="#exclusion-area">exclusion area</a> for other boxes. The ‘<a 2.476 href="#wrap-flow"><code class=property>wrap-flow</code></a>’ property is 2.477 @@ -418,75 +381,71 @@ 2.478 other than ‘<code class=property>none</code>’ does not become an 2.479 exclusion. 2.480 2.481 - <p id=exclusion-area-><dfn id=exclusion-area>Exclusion area</dfn> 2.482 + <p><dfn id=exclusion-area>Exclusion area</dfn> 2.483 2.484 <div class=issue-marker data-bug_id=15087 data-bug_status=NEW> <a 2.485 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15087">Issue-15087</a> 2.486 2.487 <div class=issue-details> 2.488 - <p class=short-desc 2.489 - id=interaction-of-floats-and-exclusions-how>Interaction of floats and 2.490 - exclusions (Howcome's questions)</p> 2.491 + <p class=short-desc>Interaction of floats and exclusions (Howcome's 2.492 + questions)</p> 2.493 </div> 2.494 </div> 2.495 2.496 - <p id=the-area-used-for-excluding-inline-flow-> The area used for excluding 2.497 - inline flow content around an exclusion box. The exclusion area is 2.498 - equivalent to the <a 2.499 + <p> The area used for excluding inline flow content around an exclusion 2.500 + box. The exclusion area is equivalent to the <a 2.501 href="http://www.w3.org/TR/CSS2/box.html#box-dimensions"> border box</a>. 2.502 This specification's ‘<a href="#shape-outside"><code 2.503 class=property>shape-outside</code></a>’ property can be used to define 2.504 arbitrary, non-rectangular exclusion areas. 2.505 2.506 - <p id=float-area-><dfn id=float-area>Float area</dfn> 2.507 - 2.508 - <p id=the-area-used-for-excluding-inline-flow-0> The area used for 2.509 - excluding inline flow content around a float element. By default, the 2.510 - float area is the float element's <a 2.511 + <p><dfn id=float-area>Float area</dfn> 2.512 + 2.513 + <p> The area used for excluding inline flow content around a float element. 2.514 + By default, the float area is the float element's <a 2.515 href="http://www.w3.org/TR/CSS2/box.html#box-dimensions">margin box</a>. 2.516 This specification's ‘<a href="#shape-outside"><code 2.517 class=property>shape-outside</code></a>’ property can be used to define 2.518 arbitrary, non-rectangular float areas. 2.519 2.520 - <p id=exclusion-element-><dfn id=exclusion-element>Exclusion element</dfn> 2.521 - 2.522 - <p id=an-block-level-element-which-is-not-a-fl>An block-level element which 2.523 - is not a float and generates an <a href="#exclusion-box">exclusion 2.524 - box</a>. An element generates an exclusion box when its ‘<a 2.525 - href="#wrap-flow"><code class=property>wrap-flow</code></a>’ property's 2.526 - computed value is not ‘<code class=property>auto</code>’. 2.527 - 2.528 - <p id=wrapping-context-><dfn id=wrapping-context>Wrapping context</dfn> 2.529 + <p><dfn id=exclusion-element>Exclusion element</dfn> 2.530 + 2.531 + <p>An block-level element which is not a float and generates an <a 2.532 + href="#exclusion-box">exclusion box</a>. An element generates an exclusion 2.533 + box when its ‘<a href="#wrap-flow"><code 2.534 + class=property>wrap-flow</code></a>’ property's computed value is not 2.535 + ‘<code class=property>auto</code>’. 2.536 + 2.537 + <p><dfn id=wrapping-context>Wrapping context</dfn> 2.538 2.539 <div class=issue-marker data-bug_id=15086 data-bug_status=NEW> <a 2.540 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15086">Issue-15086</a> 2.541 2.542 <div class=issue-details> 2.543 - <p class=short-desc id=should-the-wrapping-context-be-generic-a>should 2.544 - the wrapping context be generic and include floats?</p> 2.545 + <p class=short-desc>should the wrapping context be generic and include 2.546 + floats?</p> 2.547 </div> 2.548 </div> 2.549 2.550 - <p id=the-wrapping-context-of-a-box-is-a-colle> The <a 2.551 - href="#wrapping-context">wrapping context</a> of a box is a collection of 2.552 - <a href="#exclusion-area">exclusion areas</a> contributed by its 2.553 - associated <a href="#exclusion-box">exclusion boxes</a>. During layout, a 2.554 - box wraps its inline flow content in the area that corresponds to the 2.555 - subtraction of its <a href="#wrapping-context">wrapping context</a> from 2.556 - its own <a href="#content-area">content area</a>. 2.557 - 2.558 - <p id=a-box-inherits-its-containing-blocks-wra> A box inherits its <a 2.559 + <p> The <a href="#wrapping-context">wrapping context</a> of a box is a 2.560 + collection of <a href="#exclusion-area">exclusion areas</a> contributed by 2.561 + its associated <a href="#exclusion-box">exclusion boxes</a>. During 2.562 + layout, a box wraps its inline flow content in the area that corresponds 2.563 + to the subtraction of its <a href="#wrapping-context">wrapping context</a> 2.564 + from its own <a href="#content-area">content area</a>. 2.565 + 2.566 + <p> A box inherits its <a 2.567 href="http://www.w3.org/TR/CSS2/visudet.html#containing-block-details">containing 2.568 block's</a> <a href="#wrapping-context">wrapping context</a> unless it 2.569 specifically resets it using the ‘<a href="#wrap-through"><code 2.570 class=property>wrap-through</code></a>’ property. 2.571 2.572 - <p id=content-area-><dfn id=content-area>Content area</dfn> 2.573 - 2.574 - <p id=the-area-used-for-layout-of-the-inline-f> The area used for layout of 2.575 - the inline flow content of a box. By default the area is equivalent to the 2.576 - <a href="http://www.w3.org/TR/CSS2/box.html#box-dimensions">content 2.577 - box</a>. This specification's ‘<a href="#shape-inside"><code 2.578 + <p><dfn id=content-area>Content area</dfn> 2.579 + 2.580 + <p> The area used for layout of the inline flow content of a box. By 2.581 + default the area is equivalent to the <a 2.582 + href="http://www.w3.org/TR/CSS2/box.html#box-dimensions">content box</a>. 2.583 + This specification's ‘<a href="#shape-inside"><code 2.584 class=property>shape-inside</code></a>’ property can define arbitrary, 2.585 non-rectangular content areas. 2.586 2.587 @@ -494,46 +453,41 @@ 2.588 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15089">Issue-15089</a> 2.589 2.590 <div class=issue-details> 2.591 - <p class=short-desc id=shrink-to-fit-circle-shape>shrink-to-fit circle / 2.592 - shape</p> 2.593 + <p class=short-desc>shrink-to-fit circle / shape</p> 2.594 </div> 2.595 </div> 2.596 2.597 - <p id=outside-and-inside-><dfn id=outside-and-inside 2.598 - title=outside-inside>Outside and inside</dfn> 2.599 - 2.600 - <p id=in-this-specification-outside-refers-to-> In this specification, 2.601 - ‘<code class=property>outside</code>’ refers to DOM content that is 2.602 - not a descendant of an element while ‘<code 2.603 + <p><dfn id=outside-and-inside title=outside-inside>Outside and inside</dfn> 2.604 + 2.605 + 2.606 + <p> In this specification, ‘<code class=property>outside</code>’ refers 2.607 + to DOM content that is not a descendant of an element while ‘<code 2.608 class=property>inside</code>’ refers to the element's descendants. 2.609 2.610 <h2 id=exclusions><span class=secno>3. </span>Exclusions</h2> 2.611 2.612 - <p id=exclusion-elements-define-exclusion-area> Exclusion elements define 2.613 - exclusion areas that contribute to their containing block's <a 2.614 - href="#wrapping-context">wrapping context</a>. As a consequence, 2.615 - exclusions impact the layout of their containing block's descendants. 2.616 - 2.617 - <p id=x1> 2.618 - 2.619 - <p id=elements-layout-their-inline-content-in-> Elements layout their 2.620 - inline content in their <a href="#content-area">content area</a> and wrap 2.621 - around the areas in their associated <a href="#wrapping-context">wrapping 2.622 - context</a>. If the element is itself an exclusion, it does not wrap 2.623 - around its own exclusion shape and the impact of other exclusions on other 2.624 - exclusions is controlled by the ‘<code class=property>z-index</code>’ 2.625 - property as explained in the <a href="#exclusions-order">exclusions 2.626 - order</a> section. 2.627 - 2.628 - <p id=the-shape-properties-can-be-used-to-chan> The <a href="#shapes">shape 2.629 - properties</a> can be used to change the shape of <a 2.630 - href="#exclusion-area">exclusion areas</a>. 2.631 + <p> Exclusion elements define exclusion areas that contribute to their 2.632 + containing block's <a href="#wrapping-context">wrapping context</a>. As a 2.633 + consequence, exclusions impact the layout of their containing block's 2.634 + descendants. 2.635 + 2.636 + <p> 2.637 + 2.638 + <p> Elements layout their inline content in their <a 2.639 + href="#content-area">content area</a> and wrap around the areas in their 2.640 + associated <a href="#wrapping-context">wrapping context</a>. If the 2.641 + element is itself an exclusion, it does not wrap around its own exclusion 2.642 + shape and the impact of other exclusions on other exclusions is controlled 2.643 + by the ‘<code class=property>z-index</code>’ property as explained in 2.644 + the <a href="#exclusions-order">exclusions order</a> section. 2.645 + 2.646 + <p> The <a href="#shapes">shape properties</a> can be used to change the 2.647 + shape of <a href="#exclusion-area">exclusion areas</a>. 2.648 2.649 <h3 id=declaring-exclusions><span class=secno>3.1. </span>Declaring 2.650 exclusions</h3> 2.651 2.652 - <p id=an-element-becomes-an-exclusion-when-its> An element becomes an 2.653 - exclusion when its ‘<a href="#wrap-flow"><code 2.654 + <p> An element becomes an exclusion when its ‘<a href="#wrap-flow"><code 2.655 class=property>wrap-flow</code></a>’ property has a computed value other 2.656 than ‘<code class=property>auto</code>’. 2.657 2.658 @@ -592,13 +546,11 @@ 2.659 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=16437">Issue-16437</a> 2.660 2.661 <div class=issue-details> 2.662 - <p class=short-desc id=consistent-use-of-startendtopbottom>Consistent use 2.663 - of start/end/top/bottom</p> 2.664 + <p class=short-desc>Consistent use of start/end/top/bottom</p> 2.665 </div> 2.666 </div> 2.667 2.668 - <p id=the-values-of-this-property-have-the-fol>The values of this property 2.669 - have the following meanings: 2.670 + <p>The values of this property have the following meanings: 2.671 2.672 <dl> 2.673 <dt><dfn id=auto title="'wrap-flow'!!'auto'">auto</dfn> 2.674 @@ -642,15 +594,15 @@ 2.675 edges of the exclusion empty. 2.676 </dl> 2.677 2.678 - <p id=if-the-propertys-computed-value-is-auto-> If the property's computed 2.679 - value is ‘<code class=property>auto</code>’, the element does not 2.680 - become an <span>exclusion</span>. 2.681 - 2.682 - <p id=otherwise-a-computed-wrap-flow-property-> Otherwise, a computed ‘<a 2.683 - href="#wrap-flow"><code class=property>wrap-flow</code></a>’ property 2.684 - value of ‘<code class=property>both</code>’, ‘<code 2.685 - class=property>start</code>’, ‘<code class=property>end</code>’, 2.686 - ‘<code class=property>minimum</code>’, ‘<code 2.687 + <p> If the property's computed value is ‘<code 2.688 + class=property>auto</code>’, the element does not become an 2.689 + <span>exclusion</span>. 2.690 + 2.691 + <p> Otherwise, a computed ‘<a href="#wrap-flow"><code 2.692 + class=property>wrap-flow</code></a>’ property value of ‘<code 2.693 + class=property>both</code>’, ‘<code class=property>start</code>’, 2.694 + ‘<code class=property>end</code>’, ‘<code 2.695 + class=property>minimum</code>’, ‘<code 2.696 class=property>maximum</code>’ or ‘<code 2.697 class=property>clear</code>’ on an element makes that element an 2.698 <span>exclusion element. It's <span>exclusion shape</span> is contributed 2.699 @@ -658,54 +610,53 @@ 2.700 context</a>, causing the containing block's descendants to wrap around its 2.701 exclusion area. </span> 2.702 2.703 - <p id=an-exclusion-element-establishes-a-new-b>An <a 2.704 - href="#exclusion-element">exclusion element</a> establishes a new <a 2.705 - href="">block formatting context</a> (see <a href="#CSS21" 2.706 + <p>An <a href="#exclusion-element">exclusion element</a> establishes a new 2.707 + <a href="">block formatting context</a> (see <a href="#CSS21" 2.708 rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>) for its content. 2.709 2.710 <div class=figure> <img 2.711 alt="General illustration showing how exclusions combine" 2.712 src="images/exclusions-illustration.png" width="70%"> 2.713 - <p class=caption id=combining-exclusions>Combining exclusions</p> 2.714 + <p class=caption>Combining exclusions</p> 2.715 </div> 2.716 2.717 - <p id=the-above-figure-illustrates-how-exclusi> The above figure 2.718 - illustrates how exclusions are combined. The outermost box represents an 2.719 - element's content box. The A, B, C and D darker gray boxes represent 2.720 - exclusions in the element's <a href="#wrapping-context">wrapping 2.721 - context</a>. A, B, C and D have their respective ‘<a 2.722 - href="#wrap-flow"><code class=property>wrap-flow</code></a>’ set to 2.723 - ‘<code class=property>both</code>’, ‘<code 2.724 - class=property>start</code>’, ‘<code class=property>end</code>’ and 2.725 - ‘<code class=property>clear</code>’ respectively. The lighter gray 2.726 - areas show the additional areas that are excluded for inline layout as a 2.727 - result of the ‘<a href="#wrap-flow"><code 2.728 - class=property>wrap-flow</code></a>’ value. For example, the area to the 2.729 - right of ‘<code class=property>B</code>’ cannot be used for inline 2.730 - layout because the ‘<a href="#wrap-flow"><code 2.731 - class=property>wrap-flow</code></a>’ for ‘<code 2.732 - class=property>B</code>’ is ‘<code class=property>start</code>’. 2.733 - 2.734 - <p id=the-background-blue-area-shows-what-area> The background ‘<code 2.735 - class=property>blue</code>’ area shows what areas are available for the 2.736 - element's inline content layout. All areas represented with a light or 2.737 - dark shade of gray are not available for inline content layout. 2.738 + <p> The above figure illustrates how exclusions are combined. The outermost 2.739 + box represents an element's content box. The A, B, C and D darker gray 2.740 + boxes represent exclusions in the element's <a 2.741 + href="#wrapping-context">wrapping context</a>. A, B, C and D have their 2.742 + respective ‘<a href="#wrap-flow"><code 2.743 + class=property>wrap-flow</code></a>’ set to ‘<code 2.744 + class=property>both</code>’, ‘<code class=property>start</code>’, 2.745 + ‘<code class=property>end</code>’ and ‘<code 2.746 + class=property>clear</code>’ respectively. The lighter gray areas show 2.747 + the additional areas that are excluded for inline layout as a result of 2.748 + the ‘<a href="#wrap-flow"><code class=property>wrap-flow</code></a>’ 2.749 + value. For example, the area to the right of ‘<code 2.750 + class=property>B</code>’ cannot be used for inline layout because the 2.751 + ‘<a href="#wrap-flow"><code class=property>wrap-flow</code></a>’ for 2.752 + ‘<code class=property>B</code>’ is ‘<code 2.753 + class=property>start</code>’. 2.754 + 2.755 + <p> The background ‘<code class=property>blue</code>’ area shows what 2.756 + areas are available for the element's inline content layout. All areas 2.757 + represented with a light or dark shade of gray are not available for 2.758 + inline content layout. 2.759 2.760 <div class="issue-marker wrapper"> 2.761 <div class=issue-marker data-bug_id=15084 data-bug_status=NEW> <a 2.762 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15084">Issue-15084</a> 2.763 2.764 <div class=issue-details> 2.765 - <p class=short-desc id=fluidity-of-the-layout-with-respect-to-d>Fluidity 2.766 - of the layout with respect to different amounts of content</p> 2.767 + <p class=short-desc>Fluidity of the layout with respect to different 2.768 + amounts of content</p> 2.769 </div> 2.770 </div> 2.771 </div> 2.772 2.773 <div class=example> 2.774 - <p id=the-wrap-flow-property-values-applied-to> The ‘<a 2.775 - href="#wrap-flow"><code class=property>wrap-flow</code></a>’ property 2.776 - values applied to an absolutely positioned element.</p> 2.777 + <p> The ‘<a href="#wrap-flow"><code 2.778 + class=property>wrap-flow</code></a>’ property values applied to an 2.779 + absolutely positioned element.</p> 2.780 <code class=html></code> 2.781 <pre> 2.782 2.783 @@ -738,11 +689,11 @@ 2.784 </style> 2.785 </pre> 2.786 2.787 - <p id=the-following-figures-illustrate-the-vis>The following figures 2.788 - illustrate the visual rendering for different values of the ‘<a 2.789 - href="#wrap-flow"><code class=property>wrap-flow</code></a>’ property. 2.790 - The gray grid lines are marking the grid cells. and the blue area is the 2.791 - exclusion box (positioned by the grid).</p> 2.792 + <p>The following figures illustrate the visual rendering for different 2.793 + values of the ‘<a href="#wrap-flow"><code 2.794 + class=property>wrap-flow</code></a>’ property. The gray grid lines are 2.795 + marking the grid cells. and the blue area is the exclusion box 2.796 + (positioned by the grid).</p> 2.797 2.798 <table class=example-table> 2.799 <tbody> 2.800 @@ -800,9 +751,8 @@ 2.801 <h3 id=scope-and-effect-of-exclusions><span class=secno>3.2. </span>Scope 2.802 and effect of exclusions</h3> 2.803 2.804 - <p id=an-exclusion-affects-the-inline-flow-con> An <span>exclusion</span> 2.805 - affects the inline flow content descended from the exclusion's containing 2.806 - blocks (defined in <a 2.807 + <p> An <span>exclusion</span> affects the inline flow content descended 2.808 + from the exclusion's containing blocks (defined in <a 2.809 href="http://www.w3.org/TR/CSS2/visudet.html#containing-block-details"> 2.810 CSS 2.1 10.1</a>) and that of all descendant elements of the same 2.811 containing block. All inline flow content inside the containing block of 2.812 @@ -812,21 +762,19 @@ 2.813 href="#propagation-of-exclusions">propagation of exclusions</a> section 2.814 below). 2.815 2.816 - <p id=for-exclusions-with-positionfixed-the-co> For exclusions with 2.817 - ‘<code class=css>position:fixed</code>’, the containing block is that 2.818 - of the root element. 2.819 + <p> For exclusions with ‘<code class=css>position:fixed</code>’, the 2.820 + containing block is that of the root element. 2.821 2.822 <h4 id=wrap-margin-property><span class=secno>3.2.1. </span>The ‘<a 2.823 href="#wrap-margin"><code class=property>wrap-margin</code></a>’ 2.824 property</h4> 2.825 2.826 - <p id=the-wrap-margin-property-can-be-used-to-> The ‘<a 2.827 - href="#wrap-margin"><code class=property>wrap-margin</code></a>’ 2.828 - property can be used to offset the inline flow content wrapping on the 2.829 - outside of exclusions. Offsets created by the ‘<a 2.830 - href="#wrap-margin"><code class=property>wrap-margin</code></a>’ 2.831 - property are offset from the outside of the exclusion. This property takes 2.832 - on positive values only. 2.833 + <p> The ‘<a href="#wrap-margin"><code 2.834 + class=property>wrap-margin</code></a>’ property can be used to offset 2.835 + the inline flow content wrapping on the outside of exclusions. Offsets 2.836 + created by the ‘<a href="#wrap-margin"><code 2.837 + class=property>wrap-margin</code></a>’ property are offset from the 2.838 + outside of the exclusion. This property takes on positive values only. 2.839 2.840 <table class=propdef> 2.841 <tbody> 2.842 @@ -876,13 +824,13 @@ 2.843 href="#wrap-padding"><code class=property>wrap-padding</code></a>’ 2.844 Property</h4> 2.845 2.846 - <p id=the-wrap-padding-property-can-be-used-to> The ‘<a 2.847 - href="#wrap-padding"><code class=property>wrap-padding</code></a>’ 2.848 - property can be used to offset the inline flow content wrapping on the 2.849 - inside of elements. Offsets created by the ‘<a 2.850 - href="#wrap-padding"><code class=property>wrap-padding</code></a>’ 2.851 - property are offset from the <a href="#content-area">content area</a> of 2.852 - the element. This property takes on positive values only. 2.853 + <p> The ‘<a href="#wrap-padding"><code 2.854 + class=property>wrap-padding</code></a>’ property can be used to offset 2.855 + the inline flow content wrapping on the inside of elements. Offsets 2.856 + created by the ‘<a href="#wrap-padding"><code 2.857 + class=property>wrap-padding</code></a>’ property are offset from the <a 2.858 + href="#content-area">content area</a> of the element. This property takes 2.859 + on positive values only. 2.860 2.861 <table class=propdef> 2.862 <tbody> 2.863 @@ -938,18 +886,17 @@ 2.864 <h3 id=propagation-of-exclusions><span class=secno>3.3. </span>Propagation 2.865 of Exclusions</h3> 2.866 2.867 - <p id=by-default-an-element-inherits-its-paren> By default, an element 2.868 - inherits its parent <a href="#wrapping-context">wrapping context</a>. In 2.869 - other words it is subject to the exclusions defined <a 2.870 - href="#outside-and-inside" title=outside-inside>outside the element. </a> 2.871 - 2.872 - <p id=setting-the-wrap-through-property-to-non>Setting the ‘<a 2.873 - href="#wrap-through"><code class=property>wrap-through</code></a>’ 2.874 - property to ‘<code class=property>none</code>’ prevents an element 2.875 - from inheriting its parent <a href="#wrapping-context">wrapping 2.876 - context</a>. In other words, exclusions defined ‘<code 2.877 - class=property>outside</code>’ the element, have not effect on the 2.878 - element's children layout. 2.879 + <p> By default, an element inherits its parent <a 2.880 + href="#wrapping-context">wrapping context</a>. In other words it is 2.881 + subject to the exclusions defined <a href="#outside-and-inside" 2.882 + title=outside-inside>outside the element. </a> 2.883 + 2.884 + <p>Setting the ‘<a href="#wrap-through"><code 2.885 + class=property>wrap-through</code></a>’ property to ‘<code 2.886 + class=property>none</code>’ prevents an element from inheriting its 2.887 + parent <a href="#wrapping-context">wrapping context</a>. In other words, 2.888 + exclusions defined ‘<code class=property>outside</code>’ the element, 2.889 + have not effect on the element's children layout. 2.890 2.891 <div class=note> Exclusions defined by an element's descendants still 2.892 contribute to their containing block's <a 2.893 @@ -967,7 +914,7 @@ 2.894 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15085">Issue-15085</a> 2.895 2.896 <div class=issue-details> 2.897 - <p class=short-desc id=do-we-need-wrap-through>do we need wrap-through?</p> 2.898 + <p class=short-desc>do we need wrap-through?</p> 2.899 </div> 2.900 </div> 2.901 2.902 @@ -1014,8 +961,7 @@ 2.903 <td>as specified 2.904 </table> 2.905 2.906 - <p id=the-values-of-this-property-have-the-fol0>The values of this property 2.907 - have the following meanings: 2.908 + <p>The values of this property have the following meanings: 2.909 2.910 <dl> 2.911 <dt><dfn id=wrap title="'wrap-through'!!'wrap'">wrap</dfn> 2.912 @@ -1036,9 +982,9 @@ 2.913 </dl> 2.914 2.915 <div class=example> 2.916 - <p id=using-the-wrap-through-property-to-contr> Using the ‘<a 2.917 - href="#wrap-through"><code class=property>wrap-through</code></a>’ 2.918 - property to control the effect of exclusions.</p> 2.919 + <p> Using the ‘<a href="#wrap-through"><code 2.920 + class=property>wrap-through</code></a>’ property to control the effect 2.921 + of exclusions.</p> 2.922 2.923 <pre><code class=html> 2.924 2.925 @@ -1141,17 +1087,15 @@ 2.926 <td>see individual properties 2.927 </table> 2.928 2.929 - <p id=the-wrap-property-is-a-shorthand-propert> The ‘<a 2.930 - href="#wrap0"><code class=property>wrap</code></a>’ property is a 2.931 - shorthand property for setting the exclusions properties at the same place 2.932 - in the style sheet.</p> 2.933 + <p> The ‘<a href="#wrap0"><code class=property>wrap</code></a>’ 2.934 + property is a shorthand property for setting the exclusions properties at 2.935 + the same place in the style sheet.</p> 2.936 <!-- End section "wrap shorthand property" --> 2.937 <!-- End section "Propagation of Exclusions" --> 2.938 2.939 <h3 id=exclusions-order><span class=secno>3.4. </span>Exclusions order</h3> 2.940 2.941 - <p id=exclusions-follow-the-painting-order-see> Exclusions follow the 2.942 - painting order (See <a href="#CSS21" 2.943 + <p> Exclusions follow the painting order (See <a href="#CSS21" 2.944 rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> Appendix E). Exclusions are 2.945 applied in reverse to the document order in which they are defined. The 2.946 last exclusion appears on top of all other exclusion, thus it affects the 2.947 @@ -1170,13 +1114,12 @@ 2.948 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=16474">Issue-16474</a> 2.949 2.950 <div class=issue-details> 2.951 - <p class=short-desc id=improve-example-3-about-exclusion-order>Improve 2.952 - Example 3 about exclusion order</p> 2.953 + <p class=short-desc>Improve Example 3 about exclusion order</p> 2.954 </div> 2.955 </div> 2.956 2.957 <div class=example> 2.958 - <p id=ordering-of-exclusions.>Ordering of exclusions.</p> 2.959 + <p>Ordering of exclusions.</p> 2.960 2.961 <pre><code class=html> 2.962 <style type="text/css"> 2.963 @@ -1223,8 +1166,7 @@ 2.964 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15183">Issue-15183</a> 2.965 2.966 <div class=issue-details> 2.967 - <p class=short-desc id=is-the-css-exclusions-processing-model-i>Is the 2.968 - CSS exclusions processing model incorrect?</p> 2.969 + <p class=short-desc>Is the CSS exclusions processing model incorrect?</p> 2.970 </div> 2.971 </div> 2.972 2.973 @@ -1232,24 +1174,22 @@ 2.974 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15083">Issue-15083</a> 2.975 2.976 <div class=issue-details> 2.977 - <p class=short-desc id=concerns-over-error-accumulation-vs.-per>Concerns 2.978 - over Error accumulation vs. performance</p> 2.979 + <p class=short-desc>Concerns over Error accumulation vs. performance</p> 2.980 </div> 2.981 </div> 2.982 </div> 2.983 2.984 - <p class=issue id=the-rules-for-exclusions-order-and-exclu> The rules for 2.985 - exclusions order and exclusions on absolutely positioned elements 2.986 - (particularly those with static position) build this exclusions model on 2.987 - top of the absolute positioning model in CSS Level 2, rather than on top 2.988 - of floats, the existing exclusion model in CSS Level 1 and 2. The CSS 2.989 - Working Group has not reached consensus on whether it intends to base the 2.990 - new exclusions features in this specification on top of absolute 2.991 - positioning (as these sections of this specification do) or on top of 2.992 - floats. 2.993 - 2.994 - <p class=note id=this-module-does-not-depend-on-any-parti> This module does 2.995 - not depend on any particular positioning scheme. 2.996 + <p class=issue> The rules for exclusions order and exclusions on absolutely 2.997 + positioned elements (particularly those with static position) build this 2.998 + exclusions model on top of the absolute positioning model in CSS Level 2, 2.999 + rather than on top of floats, the existing exclusion model in CSS Level 1 2.1000 + and 2. The CSS Working Group has not reached consensus on whether it 2.1001 + intends to base the new exclusions features in this specification on top 2.1002 + of absolute positioning (as these sections of this specification do) or on 2.1003 + top of floats. 2.1004 + 2.1005 + <p class=note> This module does not depend on any particular positioning 2.1006 + scheme. 2.1007 2.1008 <h3 id=exclusions-processing-model><span class=secno>3.5. </span>Processing 2.1009 model</h3> 2.1010 @@ -1257,23 +1197,20 @@ 2.1011 <h4 id=exclusions-processing-model-description><span class=secno>3.5.1. 2.1012 </span>Description</h4> 2.1013 2.1014 - <p id=applying-exclusions-is-a-two-step-proces>Applying exclusions is a 2.1015 - two-step process: 2.1016 + <p>Applying exclusions is a two-step process: 2.1017 2.1018 <ul> 2.1019 - <li id=step-1-resolve-exclusion-boxes-belonging2><strong>Step 1</strong>: 2.1020 - resolve exclusion boxes belonging to each <a 2.1021 + <li><strong>Step 1</strong>: resolve exclusion boxes belonging to each <a 2.1022 href="#wrapping-context">wrapping context</a> 2.1023 2.1024 - <li id=step-2-resolve-wrapping-contexts-and-lay2><strong>Step 2</strong>: 2.1025 - resolve <a href="#wrapping-context">wrapping context</a>s and lay out 2.1026 - each containing block in turn: 2.1027 + <li><strong>Step 2</strong>: resolve <a href="#wrapping-context">wrapping 2.1028 + context</a>s and lay out each containing block in turn: 2.1029 <ul> 2.1030 - <li id=step-2-a-resolve-the-position-and-size-o0><strong>Step 2.1031 - 2-A</strong>: resolve the position and size of exclusion boxes 2.1032 - 2.1033 - <li id=step-2-b-lay-out-containing-block-wrappi><strong>Step 2.1034 - 2-B</strong>: lay out containing block, wrapping around exclusion areas 2.1035 + <li><strong>Step 2-A</strong>: resolve the position and size of 2.1036 + exclusion boxes 2.1037 + 2.1038 + <li><strong>Step 2-B</strong>: lay out containing block, wrapping around 2.1039 + exclusion areas 2.1040 </ul> 2.1041 </ul> 2.1042 2.1043 @@ -1282,8 +1219,7 @@ 2.1044 class=secno>3.5.2. </span>Step 1: resolve exclusion boxes belonging to 2.1045 each <a href="#wrapping-context">wrapping context</a></h4> 2.1046 2.1047 - <p id=in-this-step-the-user-agent-determines-w>In this step, the user agent 2.1048 - determines which <a 2.1049 + <p>In this step, the user agent determines which <a 2.1050 href="http://www.w3.org/TR/CSS2/visudet.html#containing-block-details">containing 2.1051 block</a> each <a href="#exclusion-area">exclusion area</a> belongs to. 2.1052 This is a simple step, based on the definition of containing blocks and 2.1053 @@ -1295,8 +1231,7 @@ 2.1054 class=secno>3.5.3. </span>Step 2: resolve wrapping contexts and lay out 2.1055 containing blocks</h4> 2.1056 2.1057 - <p id=in-this-step-starting-from-the-top-of-th>In this step, starting from 2.1058 - the top of the <a 2.1059 + <p>In this step, starting from the top of the <a 2.1060 href="http://www.w3.org/TR/CSS2/visuren.html#z-index">rendering tree</a> 2.1061 (see <a href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>), the 2.1062 the agent processes each containing block in two sub-steps. 2.1063 @@ -1305,21 +1240,20 @@ 2.1064 class=secno>3.5.4. </span>Step 2-A: resolve the position and size of 2.1065 exclusion boxes</h4> 2.1066 2.1067 - <p id=resolving-the-position-and-size-of-exclu>Resolving the position and 2.1068 - size of <a href="#exclusion-box">exclusion boxes</a> in the <a 2.1069 - href="#wrapping-context">wrapping context</a> may or may not require a 2.1070 - layout. For example, if an <a href="#exclusion-box">exclusion box</a> is 2.1071 - absolutely positioned and sized, a layout may not be needed to resolve its 2.1072 - position and size. In other situations, laying out the containing block's 2.1073 - content is required. 2.1074 - 2.1075 - <p id=when-a-layout-is-required-it-is-carried->When a layout is required, 2.1076 - it is carried out without applying any <a href="#exclusion-area">exclusion 2.1077 - area</a>. In other words, the containing block is laid out without a <a 2.1078 - href="#wrapping-context">wrapping context</a>. 2.1079 - 2.1080 - <p id=step-2-a-yields-a-position-and-size-for->Step 2-A yields a position 2.1081 - and size for all <a href="#exclusion-box">exclusion boxes</a> in the <a 2.1082 + <p>Resolving the position and size of <a href="#exclusion-box">exclusion 2.1083 + boxes</a> in the <a href="#wrapping-context">wrapping context</a> may or 2.1084 + may not require a layout. For example, if an <a 2.1085 + href="#exclusion-box">exclusion box</a> is absolutely positioned and 2.1086 + sized, a layout may not be needed to resolve its position and size. In 2.1087 + other situations, laying out the containing block's content is required. 2.1088 + 2.1089 + <p>When a layout is required, it is carried out without applying any <a 2.1090 + href="#exclusion-area">exclusion area</a>. In other words, the containing 2.1091 + block is laid out without a <a href="#wrapping-context">wrapping 2.1092 + context</a>. 2.1093 + 2.1094 + <p>Step 2-A yields a position and size for all <a 2.1095 + href="#exclusion-box">exclusion boxes</a> in the <a 2.1096 href="#wrapping-context">wrapping context</a>. Each exclusion box is 2.1097 processed in turn, starting from the top-most, and each <a 2.1098 href="#exclusion-area">exclusion area</a> is computed and contributed to 2.1099 @@ -1327,12 +1261,11 @@ 2.1100 href="http://www.w3.org/TR/CSS2/visudet.html#containing-block-details">containing 2.1101 block's</a> <a href="#wrapping-context">wrapping context</a>. 2.1102 2.1103 - <p id=scrolling-is-ignored-in-this-step-when-r>Scrolling is ignored in this 2.1104 - step when resolving the position and size of ‘<code 2.1105 - class=css>position:fixed</code>’ <a href="#exclusion-box">exclusion 2.1106 - boxes</a>. 2.1107 - 2.1108 - <p id=once-the-containing-blocks-wrapping-cont>Once the <a 2.1109 + <p>Scrolling is ignored in this step when resolving the position and size 2.1110 + of ‘<code class=css>position:fixed</code>’ <a 2.1111 + href="#exclusion-box">exclusion boxes</a>. 2.1112 + 2.1113 + <p>Once the <a 2.1114 href="http://www.w3.org/TR/CSS2/visudet.html#containing-block-details">containing 2.1115 block's</a> <a href="#wrapping-context">wrapping context</a> is computed, 2.1116 all <a href="#exclusion-box">exclusion boxes</a> in that <a 2.1117 @@ -1343,29 +1276,26 @@ 2.1118 class=secno>3.5.5. </span>Step 2-B: lay out containing block applying 2.1119 wrapping</h4> 2.1120 2.1121 - <p id=finally-the-content-of-the-containing-bl>Finally, the content of the 2.1122 - containing block is laid out, with the inline content wrapping around the 2.1123 - <span>wrapping content</span>‘<code class=css>s <a 2.1124 - href="#exclusion-area">exclusion areas</a> (which may be different from 2.1125 - the <a href="#exclusion-box">exclusion box</a> because of the 2.1126 - </code>’shape-outside' property). 2.1127 - 2.1128 - <p id=when-the-containing-block-itself-is-an-e>When the containing block 2.1129 - itself is an <a href="#exclusion-box">exclusion box</a>, then rules on <a 2.1130 + <p>Finally, the content of the containing block is laid out, with the 2.1131 + inline content wrapping around the <span>wrapping content</span>‘<code 2.1132 + class=css>s <a href="#exclusion-area">exclusion areas</a> (which may be 2.1133 + different from the <a href="#exclusion-box">exclusion box</a> because of 2.1134 + the </code>’shape-outside' property). 2.1135 + 2.1136 + <p>When the containing block itself is an <a 2.1137 + href="#exclusion-box">exclusion box</a>, then rules on <a 2.1138 href="#exclusions-order">exclusions order</a> define which exclusions 2.1139 affect the inline and descendant content of the box. 2.1140 2.1141 <h4 id=exclusions-processing-model-example><span class=secno>3.5.6. 2.1142 </span>Example</h4> 2.1143 2.1144 - <p id=this-section-illustrates-the-exclusions->This section illustrates the 2.1145 - exclusions processing model with an example. It is meant to be simple. 2.1146 - Yet, it contains enough complexity to address the issues of layout 2.1147 - dependencies and re-layout. 2.1148 - 2.1149 - <p id=the-code-snippet-in-the-following-exampl>The code snippet in the 2.1150 - following example has two exclusions affecting the document's inline 2.1151 - content. 2.1152 + <p>This section illustrates the exclusions processing model with an 2.1153 + example. It is meant to be simple. Yet, it contains enough complexity to 2.1154 + address the issues of layout dependencies and re-layout. 2.1155 + 2.1156 + <p>The code snippet in the following example has two exclusions affecting 2.1157 + the document's inline content. 2.1158 2.1159 <div class=example> 2.1160 <pre class=html><html> 2.1161 @@ -1419,67 +1349,60 @@ 2.1162 </html></pre> 2.1163 </div> 2.1164 2.1165 - <p id=the-following-figures-illustrate>The following figures illustrate: 2.1166 + <p>The following figures illustrate: 2.1167 2.1168 <ul> 2.1169 - <li id=the-documents-dom-tree>the document's DOM tree 2.1170 - 2.1171 - <li id=the-layout-tree-of-generated-block-boxes>the layout tree of 2.1172 - generated block boxes 2.1173 + <li>the document's DOM tree 2.1174 + 2.1175 + <li>the layout tree of generated block boxes 2.1176 </ul> 2.1177 2.1178 <div class=figure> <img alt="DOM tree nodes" 2.1179 src="images/processing-model-example-dom.svg" width=200> 2.1180 - <p class=caption id=dom-tree>DOM tree</p> 2.1181 + <p class=caption>DOM tree</p> 2.1182 </div> 2.1183 2.1184 <div class=figure> <img alt="Layout tree boxes" 2.1185 src="images/processing-model-example-layout-tree.svg" width=350> 2.1186 - <p class=caption id=layout-tree-of-generated-block-boxes>Layout tree of 2.1187 - generated block boxes</p> 2.1188 + <p class=caption>Layout tree of generated block boxes</p> 2.1189 </div> 2.1190 2.1191 <h5 id=step-1-resolve-exclusion-boxes-belonging><span class=secno>3.5.6.1. 2.1192 </span>Step 1: resolve exclusion boxes belonging to each <a 2.1193 href="#wrapping-context">wrapping context</a></h5> 2.1194 2.1195 - <p id=the-figures-illustrate-how-the-boxes-cor>The figures illustrate how 2.1196 - the boxes corresponding to the element sometimes have a different 2.1197 - containment hierarchy in the layout tree than in the DOM tree. For 2.1198 - example, the box generated by <code class=idl>e1</code> is positioned in 2.1199 - its containing block's box, which is the <code class=idl>d1-box</code>, 2.1200 - because <code class=idl>e1</code> is absolutely positioned and <code 2.1201 - class=idl>d1</code> is relatively positioned. However, while <code 2.1202 - class=idl>e2</code> is also absolutely positioned, its containing block is 2.1203 - the initial containing block (ICB). See the section 10.1 of the CSS 2.1 2.1204 - specification (<a href="#CSS21" 2.1205 + <p>The figures illustrate how the boxes corresponding to the element 2.1206 + sometimes have a different containment hierarchy in the layout tree than 2.1207 + in the DOM tree. For example, the box generated by <code 2.1208 + class=idl>e1</code> is positioned in its containing block's box, which is 2.1209 + the <code class=idl>d1-box</code>, because <code class=idl>e1</code> is 2.1210 + absolutely positioned and <code class=idl>d1</code> is relatively 2.1211 + positioned. However, while <code class=idl>e2</code> is also absolutely 2.1212 + positioned, its containing block is the initial containing block (ICB). 2.1213 + See the section 10.1 of the CSS 2.1 specification (<a href="#CSS21" 2.1214 rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>) for details. 2.1215 2.1216 - <p id=as-a-result-of-the-computation-of-contai>As a result of the 2.1217 - computation of containing blocks for the tree, the boxes belonging to the 2.1218 - <a href="#wrapping-context">wrapping context</a>s of all the elements can 2.1219 - be determined: 2.1220 + <p>As a result of the computation of containing blocks for the tree, the 2.1221 + boxes belonging to the <a href="#wrapping-context">wrapping context</a>s 2.1222 + of all the elements can be determined: 2.1223 2.1224 <ul> 2.1225 - <li id=the-wrapping-context-for-the-html-elemen>The <a 2.1226 - href="#wrapping-context">wrapping context</a> for the html element 2.1227 - contains the <code class=idl>e2</code> box: WC-1 (Wrapping Context 1) 2.1228 - 2.1229 - <li id=the-wrapping-context-for-the-body-elemen>The <a 2.1230 - href="#wrapping-context">wrapping context</a> for the body element 2.1231 - inherits the html element's <a href="#wrapping-context">wrapping 2.1232 + <li>The <a href="#wrapping-context">wrapping context</a> for the html 2.1233 + element contains the <code class=idl>e2</code> box: WC-1 (Wrapping 2.1234 + Context 1) 2.1235 + 2.1236 + <li>The <a href="#wrapping-context">wrapping context</a> for the body 2.1237 + element inherits the html element's <a href="#wrapping-context">wrapping 2.1238 context</a>: WC-1 2.1239 2.1240 - <li id=the-wrapping-context-for-d1-inherits-the>The <a 2.1241 - href="#wrapping-context">wrapping context</a> for <code 2.1242 + <li>The <a href="#wrapping-context">wrapping context</a> for <code 2.1243 class=idl>d1</code> inherits the body element's <a 2.1244 href="#wrapping-context">wrapping context</a> and adds the <code 2.1245 class=idl>e1-box</code> to it. So the wrapping context is made of both 2.1246 the <code class=idl>e1-box</code> and the <code class=idl>e2-box</code>: 2.1247 WC-2 2.1248 2.1249 - <li id=the-wrapping-context-for-d2-inherits-the>The <a 2.1250 - href="#wrapping-context">wrapping context</a> for <code 2.1251 + <li>The <a href="#wrapping-context">wrapping context</a> for <code 2.1252 class=idl>d2</code> inherits the body element's <a 2.1253 href="#wrapping-context">wrapping context</a>: WC-1 2.1254 </ul> 2.1255 @@ -1487,54 +1410,43 @@ 2.1256 <h5 id=step-2-resolve-wrapping-contexts-and-lay><span class=secno>3.5.6.2. 2.1257 </span>Step 2: resolve wrapping contexts and lay out containing blocks</h5> 2.1258 2.1259 - <p id=in-this-step-each-containing-block-is-pr>In this step, each 2.1260 - containing block is processed in turn. For each containing block, we 2.1261 - (conceptually) go through two phases: 2.1262 + <p>In this step, each containing block is processed in turn. For each 2.1263 + containing block, we (conceptually) go through two phases: 2.1264 2.1265 <ol> 2.1266 - <li id=resolve-the-wrapping-context-resolve-the>resolve the <a 2.1267 - href="#wrapping-context">wrapping context</a>: resolve the position and 2.1268 - size of its exclusions 2.1269 - 2.1270 - <li id=lay-out-the-containing-block>lay out the containing block 2.1271 + <li>resolve the <a href="#wrapping-context">wrapping context</a>: resolve 2.1272 + the position and size of its exclusions 2.1273 + 2.1274 + <li>lay out the containing block 2.1275 </ol> 2.1276 2.1277 - <p id=in-our-example-this-breaks-down-to>In our example, this breaks down 2.1278 - to: 2.1279 + <p>In our example, this breaks down to: 2.1280 2.1281 <ol> 2.1282 - <li id=resolve-the-position-and-size-of-the-exc>resolve the position and 2.1283 - size of the exclusions belonging to WC-1: RWC-1 (Resolved Wrapping 2.1284 - Context 1). 2.1285 - 2.1286 - <li id=lay-out-the-initial-containing-block-i.e>lay out the initial 2.1287 - containing block (i.e., lay out its content): 2.1288 + <li>resolve the position and size of the exclusions belonging to WC-1: 2.1289 + RWC-1 (Resolved Wrapping Context 1). 2.1290 + 2.1291 + <li>lay out the initial containing block (i.e., lay out its content): 2.1292 <ol> 2.1293 - <li id=resolve-the-html-elements-wrapping-conte>resolve the html 2.1294 - element's <a href="#wrapping-context">wrapping context</a>: RWC-1 2.1295 - 2.1296 - <li id=lay-out-the-html-element-resolve-the-bod>lay out the html 2.1297 - element: 2.1298 + <li>resolve the html element's <a href="#wrapping-context">wrapping 2.1299 + context</a>: RWC-1 2.1300 + 2.1301 + <li>lay out the html element: 2.1302 <ol> 2.1303 - <li id=resolve-the-body-elements-wrapping-conte>resolve the body 2.1304 - element's <a href="#wrapping-context">wrapping context</a>: RWC-1 2.1305 - 2.1306 - <li id=lay-out-the-body-element-resolve-the-d1->lay out the body 2.1307 - element: 2.1308 + <li>resolve the body element's <a href="#wrapping-context">wrapping 2.1309 + context</a>: RWC-1 2.1310 + 2.1311 + <li>lay out the body element: 2.1312 <ol> 2.1313 - <li id=resolve-the-d1-elements-wrapping-context>resolve the <code 2.1314 - class=idl>d1</code> element's <a href="#wrapping-context">wrapping 2.1315 - context</a>: RWC-2 2.1316 - 2.1317 - <li id=lay-out-the-d1-element>lay out the <code class=idl>d1</code> 2.1318 - element 2.1319 - 2.1320 - <li id=resolve-the-d2-elements-wrapping-context>resolve the <code 2.1321 - class=idl>d2</code> element's <a href="#wrapping-context">wrapping 2.1322 - context</a>: RWC-1 2.1323 - 2.1324 - <li id=lay-out-the-d2-element>lay out the <code class=idl>d2</code> 2.1325 - element 2.1326 + <li>resolve the <code class=idl>d1</code> element's <a 2.1327 + href="#wrapping-context">wrapping context</a>: RWC-2 2.1328 + 2.1329 + <li>lay out the <code class=idl>d1</code> element 2.1330 + 2.1331 + <li>resolve the <code class=idl>d2</code> element's <a 2.1332 + href="#wrapping-context">wrapping context</a>: RWC-1 2.1333 + 2.1334 + <li>lay out the <code class=idl>d2</code> element 2.1335 </ol> 2.1336 </ol> 2.1337 </ol> 2.1338 @@ -1542,40 +1454,38 @@ 2.1339 2.1340 <h6 id=resolving-rwc-1><span class=secno>3.5.6.2.1. </span>Resolving RWC-1</h6> 2.1341 2.1342 - <p id=the-top-most-wrapping-context-in-the-lay>The top-most <a 2.1343 - href="#wrapping-context">wrapping context</a> in the layout tree contains 2.1344 - the <code class=idl>e2</code> exclusion. Its position and size needs to be 2.1345 - resolved. In general, computing an exclusion's position and size may or 2.1346 - may not require laying out other content. In our example, no content needs 2.1347 - to be laid out to resolve the <code class=idl>e2</code> exclusion's 2.1348 - position because it is absolutely positioned and its size can be resolved 2.1349 - without layout either. At this point, RWC-1 is resolved and can be used 2.1350 - when laying inline content out. 2.1351 + <p>The top-most <a href="#wrapping-context">wrapping context</a> in the 2.1352 + layout tree contains the <code class=idl>e2</code> exclusion. Its position 2.1353 + and size needs to be resolved. In general, computing an exclusion's 2.1354 + position and size may or may not require laying out other content. In our 2.1355 + example, no content needs to be laid out to resolve the <code 2.1356 + class=idl>e2</code> exclusion's position because it is absolutely 2.1357 + positioned and its size can be resolved without layout either. At this 2.1358 + point, RWC-1 is resolved and can be used when laying inline content out. 2.1359 2.1360 <h6 id=resolving-rwc-2><span class=secno>3.5.6.2.2. </span>Resolving RWC-2</h6> 2.1361 2.1362 - <p id=the-process-is-similar-the-position-of-t>The process is similar: the 2.1363 - position of the <code class=idl>e1</code> exclusion needs to be resolved. 2.1364 - Again, resolving the exclusion's position and size may require processing 2.1365 - the containing block (d1 here). It is the case here because the size and 2.1366 - position of <code class=idl>e1</code> depend on resolving the percentage 2.1367 - lengths. The percentages are relative to the size of <code 2.1368 - class=idl>d1</code>‘<code class=css>s box. As a result, in order to 2.1369 - resolve a size for <code class=idl>d1</code></code>’s box, a first 2.1370 - layout of <code class=idl>d1</code> is done without any <a 2.1371 + <p>The process is similar: the position of the <code class=idl>e1</code> 2.1372 + exclusion needs to be resolved. Again, resolving the exclusion's position 2.1373 + and size may require processing the containing block (d1 here). It is the 2.1374 + case here because the size and position of <code class=idl>e1</code> 2.1375 + depend on resolving the percentage lengths. The percentages are relative 2.1376 + to the size of <code class=idl>d1</code>‘<code class=css>s box. As a 2.1377 + result, in order to resolve a size for <code 2.1378 + class=idl>d1</code></code>’s box, a first layout of <code 2.1379 + class=idl>d1</code> is done without any <a 2.1380 href="#wrapping-context">wrapping context</a> (i.e., no exclusions 2.1381 applied). The layout yields a position and size for <code 2.1382 class=idl>e1</code>‘<code class=css>s box. </code> 2.1383 2.1384 - <p id=at-this-point-rwc-2-is-resolved-because->At this point, RWC-2 is 2.1385 - resolved because the position and size of both e1 and e2 are resolved. 2.1386 - 2.1387 - <p class=note id=the-important-aspect-of-the-above-proces>The important 2.1388 - aspect of the above processing example is that once an element’s <a 2.1389 - href="#wrapping-context">wrapping context</a> is resolved (by resolving 2.1390 - its exclusions' position and size), the position and size of the 2.1391 - exclusions are not re-processed if the element's size changes between the 2.1392 - layout that may be done without considering any <a 2.1393 + <p>At this point, RWC-2 is resolved because the position and size of both 2.1394 + e1 and e2 are resolved. 2.1395 + 2.1396 + <p class=note>The important aspect of the above processing example is that 2.1397 + once an element’s <a href="#wrapping-context">wrapping context</a> is 2.1398 + resolved (by resolving its exclusions' position and size), the position 2.1399 + and size of the exclusions are not re-processed if the element's size 2.1400 + changes between the layout that may be done without considering any <a 2.1401 href="#wrapping-context">wrapping context</a> (as for RWC-2) and the 2.1402 layout done with the resolved <a href="#wrapping-context">wrapping 2.1403 context</a>. This is what breaks the possible circular dependency between 2.1404 @@ -1588,36 +1498,31 @@ 2.1405 <h4 id=floats-and-exclusions-similarities><span class=secno>3.6.1. 2.1406 </span>Similarities</h4> 2.1407 2.1408 - <p id=there-are-similarities-between-floats-an>There are similarities 2.1409 - between floats an exclusions in that inline content wraps around floats 2.1410 - and also wraps around exclusion areas. However, there are very significant 2.1411 - differences. 2.1412 + <p>There are similarities between floats an exclusions in that inline 2.1413 + content wraps around floats and also wraps around exclusion areas. 2.1414 + However, there are very significant differences. 2.1415 2.1416 <h4 id=floats-and-exclusions-differences><span class=secno>3.6.2. 2.1417 </span>Differences</h4> 2.1418 2.1419 <ul> 2.1420 - <li id=scope.-while-floats-apply-to-content-tha><strong>scope</strong>. 2.1421 - While floats apply to content that follows in the document, exclusions 2.1422 - apply to content in their containing block. 2.1423 - 2.1424 - <li 2.1425 - id=positioning.-floats-are-part-of-the-inli><strong>positioning</strong>. 2.1426 - Floats are part of the inline flow and ‘<code 2.1427 - class=property>float</code>’ on the line box. Authors can control how 2.1428 - the floats move on the line box, to the right or to the left. By 2.1429 - contrast, exclusions can be positioned using any positioning scheme such 2.1430 - as grid layout (<a href="#CSS3-GRID-LAYOUT" 2.1431 + <li><strong>scope</strong>. While floats apply to content that follows in 2.1432 + the document, exclusions apply to content in their containing block. 2.1433 + 2.1434 + <li><strong>positioning</strong>. Floats are part of the inline flow and 2.1435 + ‘<code class=property>float</code>’ on the line box. Authors can 2.1436 + control how the floats move on the line box, to the right or to the left. 2.1437 + By contrast, exclusions can be positioned using any positioning scheme 2.1438 + such as grid layout (<a href="#CSS3-GRID-LAYOUT" 2.1439 rel=biblioentry>[CSS3-GRID-LAYOUT]<!--{{CSS3-GRID-LAYOUT}}--></a>), 2.1440 flexible box (<a href="#CSS3-FLEXBOX" 2.1441 rel=biblioentry>[CSS3-FLEXBOX]<!--{{CSS3-FLEXBOX}}--></a>) or any other 2.1442 CSS positioning scheme. 2.1443 2.1444 - <li id=separation-of-concerns.-making-an-elemen><strong>separation of 2.1445 - concerns</strong>. Making an element a float determines both its 2.1446 - positioning scheme and its effect on inline content. Making an element an 2.1447 - exclusion only determines its impact on inline content and does not 2.1448 - impose constraints on its positioning method. 2.1449 + <li><strong>separation of concerns</strong>. Making an element a float 2.1450 + determines both its positioning scheme and its effect on inline content. 2.1451 + Making an element an exclusion only determines its impact on inline 2.1452 + content and does not impose constraints on its positioning method. 2.1453 </ul> 2.1454 2.1455 <h4 id=floats-and-exclusions-interoperability><span class=secno>3.6.3. 2.1456 @@ -1626,19 +1531,17 @@ 2.1457 <h5 id=effect-of-floats-on-exclusions><span class=secno>3.6.3.1. 2.1458 </span>Effect of floats on exclusions</h5> 2.1459 2.1460 - <p id=floats-have-an-effect-on-the-positioning>Floats have an effect on the 2.1461 - positioning of exclusions and the layout of their inline content. For 2.1462 - example, if an exclusion is an inline-box which happens to be on the same 2.1463 - line as a float, its' position, as computed in <a 2.1464 - href="#step-2-A-resolve-exclusions-position-and-size">Step 2-A</a> will be 2.1465 - impacted by the float, as is any other inline content. 2.1466 + <p>Floats have an effect on the positioning of exclusions and the layout of 2.1467 + their inline content. For example, if an exclusion is an inline-box which 2.1468 + happens to be on the same line as a float, its' position, as computed in 2.1469 + <a href="#step-2-A-resolve-exclusions-position-and-size">Step 2-A</a> will 2.1470 + be impacted by the float, as is any other inline content. 2.1471 2.1472 <h5 id=effect-of-exclusions-on-floats><span class=secno>3.6.3.2. 2.1473 </span>Effect of exclusions on floats</h5> 2.1474 2.1475 - <p id=exclusions-have-an-effect-on-the-positio>Exclusions have an effect on 2.1476 - the positioning of floats as they have an effect on inline content. 2.1477 - Therefore, in <a 2.1478 + <p>Exclusions have an effect on the positioning of floats as they have an 2.1479 + effect on inline content. Therefore, in <a 2.1480 href="#step-2-B-layout-containing-block-applying-wrapping">Step 2-B</a>, 2.1481 floats will avoid <a href="#exclusion-area">exclusion areas</a>.</p> 2.1482 <!-- End section "Exclusions" --> 2.1483 @@ -1650,8 +1553,7 @@ 2.1484 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15091">Issue-15091</a><br> 2.1485 2.1486 <div class=issue-details> 2.1487 - <p class=short-desc id=simplify-the-syntax-for-shapes>Simplify the 2.1488 - syntax for shapes</p> 2.1489 + <p class=short-desc>Simplify the syntax for shapes</p> 2.1490 </div> 2.1491 </div> 2.1492 2.1493 @@ -1659,16 +1561,14 @@ 2.1494 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=16716">Issue-16716</a> 2.1495 2.1496 <div class=issue-details> 2.1497 - <p class=short-desc id=handling-visible-content-as-a-shape-for->Handling 2.1498 - visible content as a shape for Exclusions</p> 2.1499 + <p class=short-desc>Handling visible content as a shape for Exclusions</p> 2.1500 </div> 2.1501 </div> 2.1502 </div> 2.1503 2.1504 - <p id=shapes-define-arbitrary-geometric-contou> Shapes define arbitrary 2.1505 - geometric contours around which or into which inline flow content flows. 2.1506 - There are two different types of shapes – ‘<code 2.1507 - class=property>outside</code>’ and ‘<code 2.1508 + <p> Shapes define arbitrary geometric contours around which or into which 2.1509 + inline flow content flows. There are two different types of shapes – 2.1510 + ‘<code class=property>outside</code>’ and ‘<code 2.1511 class=property>inside</code>’. The outside shape defines the <a 2.1512 href="#exclusion-area">exclusion area</a> for an <a 2.1513 href="#exclusion-element">exclusion element</a> or the <a 2.1514 @@ -1676,34 +1576,32 @@ 2.1515 element's <span>content shape</span> and the element's inline content will 2.1516 flow within that shape. 2.1517 2.1518 - <p class=note id=it-is-important-to-note-that-while-outsi>It is important 2.1519 - to note that while outside shapes only apply to <span>exclusions</span> 2.1520 - and floats, inside shapes apply to all block-level elements. 2.1521 + <p class=note>It is important to note that while outside shapes only apply 2.1522 + to <span>exclusions</span> and floats, inside shapes apply to all 2.1523 + block-level elements. 2.1524 2.1525 <h3 id=relation-to-box-model-and-float-behavior><span class=secno>4.1. 2.1526 </span>Relation to the box model and float behavior</h3> 2.1527 2.1528 - <p id=while-the-boundaries-used-for-wrapping-i> While the boundaries used 2.1529 - for wrapping inline flow content outside and inside an element can be 2.1530 - defined using shapes, the actual box model does not change. If the element 2.1531 - has specified margins, borders or paddings they will be computed and 2.1532 - rendered according to the <a href="#CSS3BOX" 2.1533 + <p> While the boundaries used for wrapping inline flow content outside and 2.1534 + inside an element can be defined using shapes, the actual box model does 2.1535 + not change. If the element has specified margins, borders or paddings they 2.1536 + will be computed and rendered according to the <a href="#CSS3BOX" 2.1537 rel=biblioentry>[CSS3BOX]<!--{{!CSS3BOX}}--></a> module. 2.1538 2.1539 - <p id=however-floats-are-an-exception.-if-a-fl> However, floats are an 2.1540 - exception. If a float has an outside shape, its positioning is resolved as 2.1541 - <a 2.1542 + <p> However, floats are an exception. If a float has an outside shape, its 2.1543 + positioning is resolved as <a 2.1544 href="http://www.w3.org/TR/CSS2/visuren.html#float-position">defined</a> 2.1545 in <a href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> but using 2.1546 the outside shape's bounding box is used in lieu of the float's margin 2.1547 box. 2.1548 2.1549 <div class=example> 2.1550 - <p id=css-shape-outside-and-css-box-model-rela>CSS ‘<a 2.1551 - href="#shape-outside"><code class=property>shape-outside</code></a>’ 2.1552 - and CSS box model relation: the red box illustrates the exclusion 2.1553 - element's content box, which is unmodified and subject to normal CSS 2.1554 - positioning (here absolute positioning).</p> 2.1555 + <p>CSS ‘<a href="#shape-outside"><code 2.1556 + class=property>shape-outside</code></a>’ and CSS box model relation: 2.1557 + the red box illustrates the exclusion element's content box, which is 2.1558 + unmodified and subject to normal CSS positioning (here absolute 2.1559 + positioning).</p> 2.1560 2.1561 <pre><code class=html> 2.1562 <style type="text/css"> 2.1563 @@ -1729,10 +1627,10 @@ 2.1564 style="max-width:40%"></div> 2.1565 2.1566 <div class=example> 2.1567 - <p id=in-the-following-example-the-left-and-ri>In the following example 2.1568 - the left and right floating <code class=html>div</code> elements specify 2.1569 - a triangular shape using the ‘<a href="#shape-outside"><code 2.1570 - class=property>shape-outside</code></a>’ property.</p> 2.1571 + <p>In the following example the left and right floating <code 2.1572 + class=html>div</code> elements specify a triangular shape using the ‘<a 2.1573 + href="#shape-outside"><code class=property>shape-outside</code></a>’ 2.1574 + property.</p> 2.1575 2.1576 <pre><code class=html> 2.1577 <div style="text-align:center;"> 2.1578 @@ -1768,9 +1666,9 @@ 2.1579 <h3 id=shapes-from-svg-syntax><span class=secno>4.2. </span>Shapes from SVG 2.1580 Syntax</h3> 2.1581 2.1582 - <p id=shapes-can-be-specified-using-svg-basic-> Shapes can be specified 2.1583 - using <a href="http://www.w3.org/TR/SVG/shapes.html">SVG basic shapes</a>. 2.1584 - The definitions use <code><a 2.1585 + <p> Shapes can be specified using <a 2.1586 + href="http://www.w3.org/TR/SVG/shapes.html">SVG basic shapes</a>. The 2.1587 + definitions use <code><a 2.1588 href="http://www.w3.org/TR/css3-values/#lengths"><length></a></code> 2.1589 type and the <code><a href=""><percentage></a></code> types (see <a 2.1590 href="#CSS3VAL" rel=biblioentry>[CSS3VAL]<!--{{!CSS3VAL}}--></a>). 2.1591 @@ -1786,8 +1684,7 @@ 2.1592 <h4 id=supported-svg-shapes><span class=secno>4.2.1. </span>Supported SVG 2.1593 Shapes</h4> 2.1594 2.1595 - <p id=the-following-svg-shapes-are-supported-b> The following SVG shapes 2.1596 - are supported by the CSS shapes module. 2.1597 + <p> The following SVG shapes are supported by the CSS shapes module. 2.1598 2.1599 <dl> 2.1600 <dt>rectangle([<length>|<percentage>]{4} [ curve 2.1601 @@ -1795,66 +1692,64 @@ 2.1602 2.1603 <dd> 2.1604 <ul> 2.1605 - <li id=the-four-values-represent-x-y-width-and->The four values 2.1606 - represent <strong>x, y, width and height</strong> - define the bounding 2.1607 - box of the rectangle 2.1608 - 2.1609 - <li id=the-two-curve-values-represent-rx-and-ry> The two ‘<code 2.1610 - class=property>curve</code>’ values represent <strong> rx</strong> 2.1611 - and <strong>ry</strong> - define the rounded rectangles, the 2.1612 - <strong>x</strong> and <strong>y</strong> axis and radius of the 2.1613 - ellipse used to round off the corners of the rectangle 2.1614 + <li> The four values represent <strong>x, y, width</strong> and 2.1615 + <strong>height</strong>. They define the bounding box of the rectangle. 2.1616 + Negative values for width and height are invalid. 2.1617 + 2.1618 + <li> The two ‘<code class=property>curve</code>’ values represent 2.1619 + <strong> rx</strong> and <strong>ry</strong>. For rounded rectangles 2.1620 + they define the x-axis radius and y-axis radius of the ellipse used to 2.1621 + round off the corners of the rectangle. Negative values for rx and ry 2.1622 + are invalid. 2.1623 </ul> 2.1624 2.1625 <dt>circle([<length>|<percentage>]{3}) 2.1626 2.1627 <dd> 2.1628 <ul> 2.1629 - <li id=the-three-values-values-represent-cx-cy-> The three values values 2.1630 - represent <strong>cx</strong>, <strong>cy</strong>, <strong>r</strong> 2.1631 - - The <strong>x</strong> and <strong>y</strong> axis coordinate of the 2.1632 - center of the circle and the radius of the circle 2.1633 + <li> The three values values represent <strong>cx</strong>, 2.1634 + <strong>cy</strong>, and <strong>r</strong>. They define the x-axis and 2.1635 + y-axis coordinates of the center of the circle and the radius of the 2.1636 + circle. A negative value for r is invalid. 2.1637 </ul> 2.1638 2.1639 <dt>ellipse([<length>|<percentage>]{4}) 2.1640 2.1641 <dd> 2.1642 <ul> 2.1643 - <li id=the-four-values-represent-cx-cy-rx-and-r>The four values 2.1644 - represent <strong>cx</strong>, <strong>cy</strong>, <strong>rx</strong> 2.1645 - and <strong>ry</strong> - The <strong>x</strong> and <strong>y</strong> 2.1646 - coordinate of the center of the ellipse and the <strong>x</strong> and 2.1647 - <strong>y</strong> axis radius of the ellipse 2.1648 + <li> The four values represent <strong>cx</strong>, <strong>cy</strong>, 2.1649 + <strong>rx</strong>, and <strong>ry</strong>. They define the x-axis 2.1650 + and y-axis coordinates of the center of the ellipse and the x-axis and 2.1651 + y-axis radius of the ellipse. Negative values for rx and ry are 2.1652 + invalid. 2.1653 </ul> 2.1654 2.1655 <dt>polygon([<fill-rule>,]? [<length>|<percentage>]{2}#) 2.1656 2.1657 <dd> 2.1658 <ul> 2.1659 - <li 2.1660 - id=fillrule--the-filling-rule-used-to-deter><strong>fillRule</strong> - 2.1661 - The filling rule used to determine the interior of the polygon. See 2.1662 - fill-rule property in SVG for details. Possible values are nonzero or 2.1663 - evenodd. Default value when omitted is nonzero. 2.1664 - 2.1665 - <li id=the-two-length-values-represent-xi-and-y> The two length values 2.1666 - represent <strong>xi</strong> and <strong>yi</strong> - the 2.1667 - <strong>x</strong> and <strong>y</strong> axis coordinates of the i-th 2.1668 - vertex of the polygon. 2.1669 + <li><strong>fillRule</strong> - The filling rule used to determine the 2.1670 + interior of the polygon. See fill-rule property in SVG for details. 2.1671 + Possible values are nonzero or evenodd. Default value when omitted is 2.1672 + nonzero. 2.1673 + 2.1674 + <li> The two length values represent <strong>xi</strong> and 2.1675 + <strong>yi</strong> - the <strong>x</strong> and <strong>y</strong> 2.1676 + axis coordinates of the i-th vertex of the polygon. 2.1677 </ul> 2.1678 2.1679 - <p id=if-the-polygon-is-not-closed-the-user-ag> If the polygon is not 2.1680 - closed the user-agent will automatically add a new vertex at the end.</p> 2.1681 + <p> If the polygon is not closed the user-agent will automatically add a 2.1682 + new vertex at the end.</p> 2.1683 <br> 2.1684 </dl> 2.1685 2.1686 <h4 id=referencing-svg-shapes><span class=secno>4.2.2. </span>Referencing 2.1687 SVG shapes</h4> 2.1688 2.1689 - <p id=an-svg-shape-can-be-referenced-using-the>An SVG shape can be 2.1690 - referenced using the <code>url()</code> syntax. The shape can be any of 2.1691 - the <a href="http://www.w3.org/TR/SVG/shapes.html">SVG basic shapes</a> or 2.1692 - a <a href="http://www.w3.org/TR/SVG/paths.html">path element</a>. 2.1693 + <p>An SVG shape can be referenced using the <code>url()</code> syntax. The 2.1694 + shape can be any of the <a href="http://www.w3.org/TR/SVG/shapes.html">SVG 2.1695 + basic shapes</a> or a <a href="http://www.w3.org/TR/SVG/paths.html">path 2.1696 + element</a>. 2.1697 2.1698 <div class=example> <code class=html></code> 2.1699 <pre> 2.1700 @@ -1879,15 +1774,14 @@ 2.1701 </pre> 2.1702 </div> 2.1703 2.1704 - <p id=when-using-the-svg-syntax-or-referencing> When using the SVG syntax 2.1705 - or referencing SVG elements to define shapes, all the lengths expressed in 2.1706 - percentages are resolved from the border box of the element. The 2.1707 - coordinate system for the shape has its origin on the top-left corner of 2.1708 - the border box with the x-axis running to the right and the y-axis running 2.1709 - downwards. If the SVG element uses unitless coordinate values, they are 2.1710 - equivalent to using ‘<code class=property>px</code>’ units. If the 2.1711 - border box of the element is dependent on auto sizing (i.e., the element's 2.1712 - ‘<code class=property>width</code>’ or ‘<code 2.1713 + <p> When using the SVG syntax or referencing SVG elements to define shapes, 2.1714 + all the lengths expressed in percentages are resolved from the border box 2.1715 + of the element. The coordinate system for the shape has its origin on the 2.1716 + top-left corner of the border box with the x-axis running to the right and 2.1717 + the y-axis running downwards. If the SVG element uses unitless coordinate 2.1718 + values, they are equivalent to using ‘<code class=property>px</code>’ 2.1719 + units. If the border box of the element is dependent on auto sizing (i.e., 2.1720 + the element's ‘<code class=property>width</code>’ or ‘<code 2.1721 class=property>height</code>’ property is ‘<code 2.1722 class=property>auto</code>’), then the percentage values resolve to 0.</p> 2.1723 <!-- End section "Shapes from SVG Syntax --> 2.1724 @@ -1899,9 +1793,8 @@ 2.1725 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15093">Issue-15093</a><br> 2.1726 2.1727 <div class=issue-details> 2.1728 - <p class=short-desc id=do-we-need-to-provide-properties-to-repe>Do we 2.1729 - need to provide properties to repeat exclusion images as for the 2.1730 - background-image property?</p> 2.1731 + <p class=short-desc>Do we need to provide properties to repeat exclusion 2.1732 + images as for the background-image property?</p> 2.1733 </div> 2.1734 </div> 2.1735 2.1736 @@ -1909,8 +1802,7 @@ 2.1737 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15090">Issue-15090</a> 2.1738 2.1739 <div class=issue-details> 2.1740 - <p class=short-desc id=use-the-contour-keyword-in-shape-outside>Use the 2.1741 - contour keyword in shape-outside property?</p> 2.1742 + <p class=short-desc>Use the contour keyword in shape-outside property?</p> 2.1743 </div> 2.1744 </div> 2.1745 2.1746 @@ -1918,8 +1810,7 @@ 2.1747 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15092">Issue-15092</a> 2.1748 2.1749 <div class=issue-details> 2.1750 - <p class=short-desc id=specify-what-happens-with-animated-image>Specify 2.1751 - what happens with animated images</p> 2.1752 + <p class=short-desc>Specify what happens with animated images</p> 2.1753 </div> 2.1754 </div> 2.1755 2.1756 @@ -1927,28 +1818,27 @@ 2.1757 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=16112">Issue-16112</a> 2.1758 2.1759 <div class=issue-details> 2.1760 - <p class=short-desc id=address-security-concern-with-automatic->Address 2.1761 - security concern with automatic shape extractions for images</p> 2.1762 + <p class=short-desc>Address security concern with automatic shape 2.1763 + extractions for images</p> 2.1764 </div> 2.1765 </div> 2.1766 </div> 2.1767 2.1768 - <p id=another-way-of-defining-shapes-is-by-spe> Another way of defining 2.1769 - shapes is by specifying a source image whose alpha channel is used to 2.1770 - compute the inside or outside shape. The shape is computed to be the path 2.1771 - that encloses the area where the opacity of the specified image is greater 2.1772 - than the ‘<a href="#shape-image-threshold"><code 2.1773 + <p> Another way of defining shapes is by specifying a source image whose 2.1774 + alpha channel is used to compute the inside or outside shape. The shape is 2.1775 + computed to be the path that encloses the area where the opacity of the 2.1776 + specified image is greater than the ‘<a 2.1777 + href="#shape-image-threshold"><code 2.1778 class=property>shape-image-threshold</code></a>’ value. If the ‘<a 2.1779 href="#shape-image-threshold"><code 2.1780 class=property>shape-image-threshold</code></a>’ is not specified, the 2.1781 initial value to be considered is 0.5. 2.1782 2.1783 - <p class=note id=note-images-can-define-cavities-and-inli> Note, images can 2.1784 - define cavities and inline flow content should wrap inside them. In order 2.1785 - to avoid that, another exclusion element can be overlaid. 2.1786 - 2.1787 - <p id=for-animated-raster-image-formats-such-a>For animated raster image 2.1788 - formats (such as <a 2.1789 + <p class=note> Note, images can define cavities and inline flow content 2.1790 + should wrap inside them. In order to avoid that, another exclusion element 2.1791 + can be overlaid. 2.1792 + 2.1793 + <p>For animated raster image formats (such as <a 2.1794 href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">GIF</a>), the first 2.1795 frame of the animation sequence is used. For <a 2.1796 href="http://www.w3.org/TR/2002/WD-SVG2Reqs-20020422/">SVG</a> images (<a 2.1797 @@ -1958,8 +1848,7 @@ 2.1798 2.1799 <h3 id=declaring-shapes><span class=secno>4.4. </span>Declaring Shapes</h3> 2.1800 2.1801 - <p id=shapes-are-declared-with-the-shape-outsi> Shapes are declared with 2.1802 - the ‘<a href="#shape-outside"><code 2.1803 + <p> Shapes are declared with the ‘<a href="#shape-outside"><code 2.1804 class=property>shape-outside</code></a>’ or ‘<a 2.1805 href="#shape-inside"><code class=property>shape-inside</code></a>’ 2.1806 properties. The ‘<a href="#shape-outside"><code 2.1807 @@ -1972,12 +1861,12 @@ 2.1808 or a float, then the ‘<a href="#shape-outside"><code 2.1809 class=property>shape-outside</code></a>’ property has no effect. 2.1810 2.1811 - <p id=the-shape-inside-property-defines-an-ele> The ‘<a 2.1812 - href="#shape-inside"><code class=property>shape-inside</code></a>’ 2.1813 - property defines an element's <a href="#content-area">content area</a> and 2.1814 - the element's inline flow content wraps into that shape. The ‘<a 2.1815 - href="#shape-inside"><code class=property>shape-inside</code></a>’ 2.1816 - property applies to all block-level elements. 2.1817 + <p> The ‘<a href="#shape-inside"><code 2.1818 + class=property>shape-inside</code></a>’ property defines an element's <a 2.1819 + href="#content-area">content area</a> and the element's inline flow 2.1820 + content wraps into that shape. The ‘<a href="#shape-inside"><code 2.1821 + class=property>shape-inside</code></a>’ property applies to all 2.1822 + block-level elements. 2.1823 2.1824 <h4 id=shape-outside-property><span class=secno>4.4.1. </span>The ‘<a 2.1825 href="#shape-outside"><code class=property>shape-outside</code></a>’ 2.1826 @@ -2027,8 +1916,7 @@ 2.1827 <uri>, otherwise as specified 2.1828 </table> 2.1829 2.1830 - <p id=the-values-of-this-property-have-the-fol1>The values of this property 2.1831 - have the following meanings: 2.1832 + <p>The values of this property have the following meanings: 2.1833 2.1834 <dl> 2.1835 <dt><dfn id=auto0 title="'shape-outside'!!'auto'">auto</dfn> 2.1836 @@ -2062,13 +1950,11 @@ 2.1837 <div class=figure> <img 2.1838 alt="arbitrary shapes for excluions. Illustrates how content flows around shapes" 2.1839 src="images/shapes-exclusions.png" width="70%"> 2.1840 - <p class=caption id=arbitrary-shapes-for-exclusions>Arbitrary shapes for 2.1841 - exclusions</p> 2.1842 + <p class=caption>Arbitrary shapes for exclusions</p> 2.1843 </div> 2.1844 2.1845 <div> 2.1846 - <p id=the-above-figure-shows-how-shape-outside>The above figure shows how 2.1847 - ‘<a href="#shape-outside"><code 2.1848 + <p>The above figure shows how ‘<a href="#shape-outside"><code 2.1849 class=property>shape-outside</code></a>’ shapes impact the exclusion 2.1850 areas. The red box represents an element's content box and ‘<code 2.1851 class=property>A</code>’, ‘<code class=property>B</code>’, ‘<code 2.1852 @@ -2079,14 +1965,13 @@ 2.1853 class=property>start</code>’, ‘<code class=property>end</code>’ and 2.1854 ‘<code class=property>clear</code>’, respectively.</p> 2.1855 2.1856 - <p id=as-illustrated-in-the-picture-when-an-ex>As illustrated in the 2.1857 - picture, when an exclusion allows wrapping on all sides, text can flow 2.1858 - inside ‘<code class=property>holes</code>’ in the exclusion (as for 2.1859 - exclusion ‘<code class=property>A</code>’). Otherwise, the exclusion 2.1860 - clears the area on the side(s) defined by ‘<a href="#wrap-flow"><code 2.1861 - class=property>wrap-flow</code></a>’, as illustrated for ‘<code 2.1862 - class=property>B</code>’, ‘<code class=property>C</code>’ and 2.1863 - ‘<code class=property>D</code>’ above.</p> 2.1864 + <p>As illustrated in the picture, when an exclusion allows wrapping on all 2.1865 + sides, text can flow inside ‘<code class=property>holes</code>’ in 2.1866 + the exclusion (as for exclusion ‘<code class=property>A</code>’). 2.1867 + Otherwise, the exclusion clears the area on the side(s) defined by ‘<a 2.1868 + href="#wrap-flow"><code class=property>wrap-flow</code></a>’, as 2.1869 + illustrated for ‘<code class=property>B</code>’, ‘<code 2.1870 + class=property>C</code>’ and ‘<code class=property>D</code>’ above.</p> 2.1871 </div> 2.1872 <!-- End section "The shape-outside Property" --> 2.1873 2.1874 @@ -2094,10 +1979,10 @@ 2.1875 href="#shape-inside"><code class=property>shape-inside</code></a>’ 2.1876 Property</h4> 2.1877 2.1878 - <p id=the-shape-inside-modifies-the-shape-of-t> The ‘<a 2.1879 - href="#shape-inside"><code class=property>shape-inside</code></a>’ 2.1880 - modifies the shape of the inner inline flow content from rectangular 2.1881 - content box to an arbitrary geometry. 2.1882 + <p> The ‘<a href="#shape-inside"><code 2.1883 + class=property>shape-inside</code></a>’ modifies the shape of the inner 2.1884 + inline flow content from rectangular content box to an arbitrary geometry. 2.1885 + 2.1886 2.1887 <table class=propdef> 2.1888 <tbody> 2.1889 @@ -2149,9 +2034,8 @@ 2.1890 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=16448">Issue-16448</a> 2.1891 2.1892 <div class=issue-details> 2.1893 - <p class=short-desc id=should-we-revisit-the-decision-to-not-al>Should 2.1894 - we revisit the decision to not allow SVG path syntax in the 2.1895 - shape-inside, shape-outside properties</p> 2.1896 + <p class=short-desc>Should we revisit the decision to not allow SVG path 2.1897 + syntax in the shape-inside, shape-outside properties</p> 2.1898 </div> 2.1899 </div> 2.1900 2.1901 @@ -2159,14 +2043,12 @@ 2.1902 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=16460">Issue-16460</a> 2.1903 2.1904 <div class=issue-details> 2.1905 - <p class=short-desc id=specify-overflow-behavior-for-shape-insi>Specify 2.1906 - overflow behavior for shape-inside</p> 2.1907 + <p class=short-desc>Specify overflow behavior for shape-inside</p> 2.1908 </div> 2.1909 </div> 2.1910 </div> 2.1911 2.1912 - <p id=the-values-of-this-property-have-the-fol2>The values of this property 2.1913 - have the following meanings: 2.1914 + <p>The values of this property have the following meanings: 2.1915 2.1916 <dl> 2.1917 <dt><dfn id=outside-shape 2.1918 @@ -2205,14 +2087,13 @@ 2.1919 class=property>auto</code>’ had been specified. 2.1920 </dl> 2.1921 2.1922 - <p id=the-shape-inside-property-applies-to-flo>The ‘<a 2.1923 - href="#shape-inside"><code class=property>shape-inside</code></a>’ 2.1924 - property applies to floats. 2.1925 - 2.1926 - <p id=the-shape-inside-property-may-not-apply->The ‘<a 2.1927 - href="#shape-inside"><code class=property>shape-inside</code></a>’ 2.1928 - property may not apply on some elements such as elements with a computed 2.1929 - ‘<code class=property>display</code>’ value of ‘<code 2.1930 + <p>The ‘<a href="#shape-inside"><code 2.1931 + class=property>shape-inside</code></a>’ property applies to floats. 2.1932 + 2.1933 + <p>The ‘<a href="#shape-inside"><code 2.1934 + class=property>shape-inside</code></a>’ property may not apply on some 2.1935 + elements such as elements with a computed ‘<code 2.1936 + class=property>display</code>’ value of ‘<code 2.1937 class=property>table</code>’.</p> 2.1938 <!-- End section "The shape-inside property" --> 2.1939 2.1940 @@ -2220,8 +2101,7 @@ 2.1941 ‘<a href="#shape-image-threshold"><code 2.1942 class=property>shape-image-threshold</code></a>’ Property</h4> 2.1943 2.1944 - <p id=the-shape-image-threshold-defines-the-al> The ‘<a 2.1945 - href="#shape-image-threshold"><code 2.1946 + <p> The ‘<a href="#shape-image-threshold"><code 2.1947 class=property>shape-image-threshold</code></a>’ defines the alpha 2.1948 channel threshold used to extract the shape using an image. A value of 0.5 2.1949 means that all the pixels that are more than 50% transparent define the 2.1950 @@ -2231,8 +2111,8 @@ 2.1951 ‘<a href="#shape-inside"><code 2.1952 class=property>shape-inside</code></a>’. 2.1953 2.1954 - <p class=note id=the-specified-value-of-shape-image-thres> The specified 2.1955 - value of ‘<a href="#shape-image-threshold"><code 2.1956 + <p class=note> The specified value of ‘<a 2.1957 + href="#shape-image-threshold"><code 2.1958 class=property>shape-image-threshold</code></a>’ is applied to both 2.1959 images used for ‘<a href="#shape-outside"><code 2.1960 class=property>shape-outside</code></a>’ and ‘<a 2.1961 @@ -2283,8 +2163,7 @@ 2.1962 <alphavalue> to the range [0.0,1.0]. 2.1963 </table> 2.1964 2.1965 - <p id=the-values-of-this-property-have-the-fol3>The values of this property 2.1966 - have the following meanings: 2.1967 + <p>The values of this property have the following meanings: 2.1968 2.1969 <dl> 2.1970 <dt><dfn id=ltalphavaluegt 2.1971 @@ -2353,49 +2232,42 @@ 2.1972 <!-- End section "Shape Shorthand property --> 2.1973 <!-- End section "Declaring Shapes" --> 2.1974 2.1975 - <p id=the-shape-properties-apply-to->The shape properties apply to 2.1976 - <!-- End section "Shapes" --> 2.1977 + <p>The shape properties apply to <!-- End section "Shapes" --> 2.1978 2.1979 <h2 id=conformance><span class=secno>5. </span>Conformance</h2> 2.1980 2.1981 <h3 id=conventions><span class=secno>5.1. </span>Document Conventions</h3> 2.1982 2.1983 - <p id=conformance-requirements-are-expressed-w> Conformance requirements 2.1984 - are expressed with a combination of descriptive assertions and RFC 2119 2.1985 - terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, 2.1986 - “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, 2.1987 - “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of 2.1988 - this document are to be interpreted as described in RFC 2119. However, for 2.1989 - readability, these words do not appear in all uppercase letters in this 2.1990 - specification. 2.1991 - 2.1992 - <p id=all-of-the-text-of-this-specification-is> All of the text of this 2.1993 - specification is normative except sections explicitly marked as 2.1994 - non-normative, examples, and notes. <a href="#RFC2119" 2.1995 - rel=biblioentry>[RFC2119]<!--{{!RFC2119}}--></a> 2.1996 - 2.1997 - <p id=examples-in-this-specification-are-intro> Examples in this 2.1998 - specification are introduced with the words “for example” or are set 2.1999 - apart from the normative text with <code>class="example"</code>, like 2.2000 - this: 2.2001 + <p> Conformance requirements are expressed with a combination of 2.2002 + descriptive assertions and RFC 2119 terminology. The key words “MUST”, 2.2003 + “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, 2.2004 + “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and 2.2005 + “OPTIONAL” in the normative parts of this document are to be 2.2006 + interpreted as described in RFC 2119. However, for readability, these 2.2007 + words do not appear in all uppercase letters in this specification. 2.2008 + 2.2009 + <p> All of the text of this specification is normative except sections 2.2010 + explicitly marked as non-normative, examples, and notes. <a 2.2011 + href="#RFC2119" rel=biblioentry>[RFC2119]<!--{{!RFC2119}}--></a> 2.2012 + 2.2013 + <p> Examples in this specification are introduced with the words “for 2.2014 + example” or are set apart from the normative text with 2.2015 + <code>class="example"</code>, like this: 2.2016 2.2017 <div class=example> 2.2018 - <p id=this-is-an-example-of-an-informative-exa>This is an example of an 2.2019 - informative example.</p> 2.2020 + <p>This is an example of an informative example.</p> 2.2021 </div> 2.2022 2.2023 - <p id=informative-notes-begin-with-the-word-no> Informative notes begin 2.2024 - with the word “Note” and are set apart from the normative text with 2.2025 - <code>class="note"</code>, like this: 2.2026 - 2.2027 - <p class=note id=note-this-is-an-informative-note.>Note, this is an 2.2028 - informative note. 2.2029 + <p> Informative notes begin with the word “Note” and are set apart from 2.2030 + the normative text with <code>class="note"</code>, like this: 2.2031 + 2.2032 + <p class=note>Note, this is an informative note. 2.2033 2.2034 <h3 id=conformance-classes><span class=secno>5.2. </span>Conformance 2.2035 Classes</h3> 2.2036 2.2037 - <p id=conformance-to-css-exclusions-and-shapes>Conformance to CSS 2.2038 - Exclusions and Shapes is defined for three conformance classes: 2.2039 + <p>Conformance to CSS Exclusions and Shapes is defined for three 2.2040 + conformance classes: 2.2041 2.2042 <dl> 2.2043 <dt><dfn id=style-sheet title="style sheet!!as conformance class">style 2.2044 @@ -2416,76 +2288,69 @@ 2.2045 that writes a style sheet. 2.2046 </dl> 2.2047 2.2048 - <p id=a-style-sheet-is-conformant-to-css-exclu> A style sheet is conformant 2.2049 - to CSS Exclusions and Shapes if all of its declarations that use 2.2050 - properties defined in this module have values that are valid according to 2.2051 - the generic CSS grammar and the individual grammars of each property as 2.2052 - given in this module. 2.2053 - 2.2054 - <p id=a-renderer-is-conformant-to-css-exclusio> A renderer is conformant to 2.2055 - CSS Exclusions and Shapes if, in addition to interpreting the style sheet 2.2056 - as defined by the appropriate specifications, it supports all the features 2.2057 - defined by CSS Exclusions and Shapes by parsing them correctly and 2.2058 - rendering the document accordingly. However, the inability of a UA to 2.2059 - correctly render a document due to limitations of the device does not make 2.2060 - the UA non-conformant. (For example, a UA is not required to render color 2.2061 - on a monochrome monitor.) 2.2062 - 2.2063 - <p id=an-authoring-tool-is-conformant-to-css-e> An authoring tool is 2.2064 - conformant to CSS Exclusions and Shapes if it writes style sheets that are 2.2065 - syntactically correct according to the generic CSS grammar and the 2.2066 - individual grammars of each feature in this module, and meet all other 2.2067 - conformance requirements of style sheets as described in this module. 2.2068 + <p> A style sheet is conformant to CSS Exclusions and Shapes if all of its 2.2069 + declarations that use properties defined in this module have values that 2.2070 + are valid according to the generic CSS grammar and the individual grammars 2.2071 + of each property as given in this module. 2.2072 + 2.2073 + <p> A renderer is conformant to CSS Exclusions and Shapes if, in addition 2.2074 + to interpreting the style sheet as defined by the appropriate 2.2075 + specifications, it supports all the features defined by CSS Exclusions and 2.2076 + Shapes by parsing them correctly and rendering the document accordingly. 2.2077 + However, the inability of a UA to correctly render a document due to 2.2078 + limitations of the device does not make the UA non-conformant. (For 2.2079 + example, a UA is not required to render color on a monochrome monitor.) 2.2080 + 2.2081 + <p> An authoring tool is conformant to CSS Exclusions and Shapes if it 2.2082 + writes style sheets that are syntactically correct according to the 2.2083 + generic CSS grammar and the individual grammars of each feature in this 2.2084 + module, and meet all other conformance requirements of style sheets as 2.2085 + described in this module. 2.2086 2.2087 <h3 id=partial><span class=secno>5.3. </span> Partial Implementations</h3> 2.2088 2.2089 - <p id=so-that-authors-can-exploit-the-forward-> So that authors can exploit 2.2090 - the forward-compatible parsing rules to assign fallback values, CSS 2.2091 - renderers <strong>must</strong> treat as invalid (and <a 2.2092 - href="http://www.w3.org/TR/CSS21/conform.html#ignore"> ignore as 2.2093 - appropriate</a>) any at-rules, properties, property values, keywords, and 2.2094 - other syntactic constructs for which they have no usable level of support. 2.2095 - In particular, user agents <strong>must not</strong> selectively ignore 2.2096 - unsupported component values and honor supported values in a single 2.2097 - multi-value property declaration: if any value is considered invalid (as 2.2098 - unsupported values must be), CSS requires that the entire declaration be 2.2099 - ignored. 2.2100 + <p> So that authors can exploit the forward-compatible parsing rules to 2.2101 + assign fallback values, CSS renderers <strong>must</strong> treat as 2.2102 + invalid (and <a href="http://www.w3.org/TR/CSS21/conform.html#ignore"> 2.2103 + ignore as appropriate</a>) any at-rules, properties, property values, 2.2104 + keywords, and other syntactic constructs for which they have no usable 2.2105 + level of support. In particular, user agents <strong>must not</strong> 2.2106 + selectively ignore unsupported component values and honor supported values 2.2107 + in a single multi-value property declaration: if any value is considered 2.2108 + invalid (as unsupported values must be), CSS requires that the entire 2.2109 + declaration be ignored. 2.2110 2.2111 <h3 id=experimental><span class=secno>5.4. </span> Experimental 2.2112 Implementations</h3> 2.2113 2.2114 - <p id=to-avoid-clashes-with-future-css-feature> To avoid clashes with 2.2115 - future CSS features, the CSS2.1 specification reserves a <a 2.2116 + <p> To avoid clashes with future CSS features, the CSS2.1 specification 2.2117 + reserves a <a 2.2118 href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed 2.2119 syntax</a> for proprietary and experimental extensions to CSS. 2.2120 2.2121 - <p id=prior-to-a-specification-reaching-the-ca> Prior to a specification 2.2122 - reaching the Candidate Recommendation stage in the W3C process, all 2.2123 - implementations of a CSS feature are considered experimental. The CSS 2.2124 - Working Group recommends that implementations use a vendor-prefixed syntax 2.2125 - for such features, including those in W3C Working Drafts. This avoids 2.2126 - incompatibilities with future changes in the draft. 2.2127 + <p> Prior to a specification reaching the Candidate Recommendation stage in 2.2128 + the W3C process, all implementations of a CSS feature are considered 2.2129 + experimental. The CSS Working Group recommends that implementations use a 2.2130 + vendor-prefixed syntax for such features, including those in W3C Working 2.2131 + Drafts. This avoids incompatibilities with future changes in the draft. 2.2132 2.2133 <h3 id=testing><span class=secno>5.5. </span> Non-Experimental 2.2134 Implementations</h3> 2.2135 2.2136 - <p id=once-a-specification-reaches-the-candida> Once a specification 2.2137 - reaches the Candidate Recommendation stage, non-experimental 2.2138 - implementations are possible, and implementors should release an 2.2139 - unprefixed implementation of any CR-level feature they can demonstrate to 2.2140 - be correctly implemented according to spec. 2.2141 - 2.2142 - <p id=to-establish-and-maintain-the-interopera> To establish and maintain 2.2143 - the interoperability of CSS across implementations, the CSS Working Group 2.2144 - requests that non-experimental CSS renderers submit an implementation 2.2145 - report (and, if necessary, the testcases used for that implementation 2.2146 - report) to the W3C before releasing an unprefixed implementation of any 2.2147 - CSS features. Testcases submitted to W3C are subject to review and 2.2148 - correction by the CSS Working Group. 2.2149 - 2.2150 - <p id=further-information-on-submitting-testca> Further information on 2.2151 - submitting testcases and implementation reports can be found from on the 2.2152 - CSS Working Group's website at <a 2.2153 + <p> Once a specification reaches the Candidate Recommendation stage, 2.2154 + non-experimental implementations are possible, and implementors should 2.2155 + release an unprefixed implementation of any CR-level feature they can 2.2156 + demonstrate to be correctly implemented according to spec. 2.2157 + 2.2158 + <p> To establish and maintain the interoperability of CSS across 2.2159 + implementations, the CSS Working Group requests that non-experimental CSS 2.2160 + renderers submit an implementation report (and, if necessary, the 2.2161 + testcases used for that implementation report) to the W3C before releasing 2.2162 + an unprefixed implementation of any CSS features. Testcases submitted to 2.2163 + W3C are subject to review and correction by the CSS Working Group. 2.2164 + 2.2165 + <p> Further information on submitting testcases and implementation reports 2.2166 + can be found from on the CSS Working Group's website at <a 2.2167 href="http://www.w3.org/Style/CSS/Test/"> 2.2168 http://www.w3.org/Style/CSS/Test/</a>. Questions should be directed to the 2.2169 <a href="http://lists.w3.org/Archives/Public/public-css-testsuite"> 2.2170 @@ -2493,12 +2358,12 @@ 2.2171 2.2172 <h3 id=cr-exit-criteria><span class=secno>5.6. </span> CR Exit Criteria</h3> 2.2173 2.2174 - <p id=for-this-specification-to-be-advanced-to> For this specification to 2.2175 - be advanced to Proposed Recommendation, there must be at least two 2.2176 - independent, interoperable implementations of each feature. Each feature 2.2177 - may be implemented by a different set of products, there is no requirement 2.2178 - that all features be implemented by a single product. For the purposes of 2.2179 - this criterion, we define the following terms: 2.2180 + <p> For this specification to be advanced to Proposed Recommendation, there 2.2181 + must be at least two independent, interoperable implementations of each 2.2182 + feature. Each feature may be implemented by a different set of products, 2.2183 + there is no requirement that all features be implemented by a single 2.2184 + product. For the purposes of this criterion, we define the following 2.2185 + terms: 2.2186 2.2187 <dl> 2.2188 <dt>independent 2.2189 @@ -2523,31 +2388,29 @@ 2.2190 2.2191 <dd> a user agent which: 2.2192 <ol class=inline> 2.2193 - <li id=implements-the-specification.>implements the specification. 2.2194 - 2.2195 - <li id=is-available-to-the-general-public.-the->is available to the 2.2196 - general public. The implementation may be a shipping product or other 2.2197 - publicly available version (i.e., beta version, preview release, or 2.2198 - “nightly build”). Non-shipping product releases must have 2.2199 - implemented the feature(s) for a period of at least one month in order 2.2200 - to demonstrate stability. 2.2201 - 2.2202 - <li id=is-not-experimental-i.e.-a-version-speci>is not experimental 2.2203 - (i.e., a version specifically designed to pass the test suite and is 2.2204 - not intended for normal usage going forward). 2.2205 + <li>implements the specification. 2.2206 + 2.2207 + <li>is available to the general public. The implementation may be a 2.2208 + shipping product or other publicly available version (i.e., beta 2.2209 + version, preview release, or “nightly build”). Non-shipping product 2.2210 + releases must have implemented the feature(s) for a period of at least 2.2211 + one month in order to demonstrate stability. 2.2212 + 2.2213 + <li>is not experimental (i.e., a version specifically designed to pass 2.2214 + the test suite and is not intended for normal usage going forward). 2.2215 </ol> 2.2216 </dl> 2.2217 2.2218 - <p id=the-specification-will-remain-candidate-> The specification will 2.2219 - remain Candidate Recommendation for at least six months. 2.2220 + <p> The specification will remain Candidate Recommendation for at least six 2.2221 + months. 2.2222 2.2223 <h2 class=no-num id=acknowledgments>Acknowledgments</h2> 2.2224 2.2225 - <p id=this-specification-is-made-possible-by-i>This specification is made 2.2226 - possible by input from Andrei Bucur, Alexandru Chiculita, Arron Eicholz, 2.2227 - Daniel Glazman, Arno Gourdol, Chris Jones, Marcus Mielke, Alex Mogilevsky, 2.2228 - Mihnea Ovidenie, Virgil Palanciuc, Peter Sorotokin, Eugene Veselov, 2.2229 - Stephen Zilles and the CSS Working Group members. 2.2230 + <p>This specification is made possible by input from Andrei Bucur, 2.2231 + Alexandru Chiculita, Arron Eicholz, Daniel Glazman, Arno Gourdol, Chris 2.2232 + Jones, Marcus Mielke, Alex Mogilevsky, Mihnea Ovidenie, Virgil Palanciuc, 2.2233 + Peter Sorotokin, Eugene Veselov, Stephen Zilles and the CSS Working Group 2.2234 + members. 2.2235 2.2236 <h2 class=no-num id=references>References</h2> 2.2237 2.2238 @@ -2922,7 +2785,7 @@ 2.2239 href="https://www.w3.org/Bugs/Public/show_bug.cgi?id={{bug_id}}">Issue-{{bug_id}}</a> 2.2240 2.2241 <div class=issue-details> 2.2242 - <p class=short-desc id=shortdesc>{{short_desc}}</p> 2.2243 + <p class=short-desc>{{short_desc}}</p> 2.2244 </div> 2.2245 </div> 2.2246 <script src="../shared/scripts/BugzillaTrackerUtil.js" 2.2247 @@ -2942,7 +2805,7 @@ 2.2248 2012</a></h3> 2.2249 2.2250 <ul> 2.2251 - <li id=added-wrap-flowminimum>Added wrap-flow:minimum 2.2252 + <li>Added wrap-flow:minimum 2.2253 </ul> 2.2254 2.2255 <h3 id=since-december-13th-2011><span class=secno>5.8. </span>Since <a 2.2256 @@ -2950,12 +2813,12 @@ 2.2257 13th 2011</a></h3> 2.2258 2.2259 <ul> 2.2260 - <li id=clarified-processing-model>Clarified processing model 2.2261 - 2.2262 - <li id=clarified-interaction-with-floats>Clarified interaction with floats 2.2263 - 2.2264 - <li id=clarified-that-an-exclusion-element-esta>Clarified that an 2.2265 - exclusion element establishes a new block formatting context 2.2266 + <li>Clarified processing model 2.2267 + 2.2268 + <li>Clarified interaction with floats 2.2269 + 2.2270 + <li>Clarified that an exclusion element establishes a new block formatting 2.2271 + context 2.2272 </ul> 2.2273 </html> 2.2274 <!-- Keep this comment at the end of the file