Tue, 31 Jul 2012 17:51:53 -0700
merge
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/css3-sizing/Overview.html Tue Jul 31 17:51:53 2012 -0700 1.3 @@ -0,0 +1,1325 @@ 1.4 +<!DOCTYPE html> 1.5 + 1.6 +<html lang=en> 1.7 + <head><meta content="text/html; charset=utf-8" http-equiv=Content-Type> 1.8 + 1.9 + <title>CSS Intrinsic & Extrinsic Sizing Module Level 3 (CSS3 TMPL)</title> 1.10 + <link href="#contents" rel=contents> 1.11 + <link href="#index" rel=index> 1.12 + <link href="../default.css" rel=stylesheet type="text/css"> 1.13 + <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet 1.14 + type="text/css"> 1.15 + 1.16 + <style type="text/css"> 1.17 + /* delete this block when you've cleared out all the .replaceme elements */ 1.18 + .replaceme { 1.19 + border: solid red; 1.20 + padding: 0 0.5em; 1.21 + margin: 0 0.1em; 1.22 + background: yellow; 1.23 + color: green; 1.24 + } 1.25 + .replaceme:before { 1.26 + content: "FIXME("; 1.27 + color: black; 1.28 + } 1.29 + .replaceme:after { 1.30 + content: ")"; 1.31 + color: black; 1.32 + } 1.33 + </style> 1.34 + 1.35 + <body> 1.36 + <div class=head> <!--begin-logo--> 1.37 + <p><a href="http://www.w3.org/"><img alt=W3C height=48 1.38 + src="http://www.w3.org/Icons/w3c_home" width=72></a> <!--end-logo--> 1.39 + 1.40 + <h1>CSS Intrinsic & Extrinsic Sizing Module Level 3</h1> 1.41 + 1.42 + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 1 August 2012</h2> 1.43 + 1.44 + <dl><!-- 1.45 + <dt>This version: 1.46 + <dd><a href="http://www.w3.org/TR/2012/ED-css3-sizing-20120801/" class="replaceme">http://www.w3.org/TR/2012/ED-css3-sizing-20120801/</a> 1.47 +--> 1.48 + 1.49 + <dt>Latest version: 1.50 + 1.51 + <dd><a 1.52 + href="http://dev.w3.org/csswg/css3-sizing/">http://dev.w3.org/csswg/css3-sizing/</a> 1.53 + 1.54 + 1.55 + <dt>Editor's draft: 1.56 + 1.57 + <dd><a 1.58 + href="http://dev.w3.org/csswg/css3-sizing/">http://dev.w3.org/csswg/css3-sizing/</a> 1.59 + 1.60 + 1.61 + <dt>Issue Tracking: 1.62 + 1.63 + <dd><a 1.64 + href="https://www.w3.org/Bugs/Public/buglist.cgi?product=CSS&component=Sizing&resolution=---">W3C 1.65 + Bugzilla</a> 1.66 + 1.67 + <dt>Feedback: 1.68 + 1.69 + <dd><a 1.70 + href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org</a> 1.71 + with subject line “<kbd>[css3-sizing] <var>… message topic 1.72 + …</var></kbd>” 1.73 + 1.74 + <dt>Editors: 1.75 + 1.76 + <dd class="h-card vcard"> <a class="p-name fn u-url url" 1.77 + href="[editor1 personal URL (opt.)]" rel=author>[editor1 name]</a>, 1.78 + <span class="p-org org">[affiliation (opt.)]</span>, <span 1.79 + class="u-email email">[email address (opt.)]</span> 1.80 + 1.81 + <dd class="h-card vcard"> <span class="p-name fn">[editor2 name]</span>, 1.82 + <span class="p-org org">[affiliation (opt.)]</span>, <span 1.83 + class="u-email email">[email address (opt.)]</span> 1.84 + </dl> 1.85 + <!--begin-copyright--> 1.86 + <p class=copyright><a 1.87 + href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright" 1.88 + rel=license>Copyright</a> © 2012 <a href="http://www.w3.org/"><abbr 1.89 + title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a 1.90 + href="http://www.csail.mit.edu/"><abbr 1.91 + title="Massachusetts Institute of Technology">MIT</abbr></a>, <a 1.92 + href="http://www.ercim.eu/"><abbr 1.93 + title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, 1.94 + <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a 1.95 + href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, 1.96 + <a 1.97 + href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> 1.98 + and <a 1.99 + href="http://www.w3.org/Consortium/Legal/copyright-documents">document 1.100 + use</a> rules apply.</p> 1.101 + <!--end-copyright--> 1.102 + <hr title="Separator for header"> 1.103 + </div> 1.104 + 1.105 + <h2 class="no-num no-toc" id=abstract>Abstract</h2> 1.106 + 1.107 + <p>This module contains the features of CSS relating to <var 1.108 + class=replaceme>DESCRIBE HERE</var>. <a 1.109 + href="http://www.w3.org/TR/CSS/">CSS</a> is a language for describing the 1.110 + rendering of structured documents (such as HTML and XML) on screen, on 1.111 + paper, in speech, etc. 1.112 + 1.113 + <h2 class="no-num no-toc" id=status>Status of this document</h2> 1.114 + <!--begin-status--> 1.115 + 1.116 + <p>This is a public copy of the editors' draft. It is provided for 1.117 + discussion only and may change at any moment. Its publication here does 1.118 + not imply endorsement of its contents by W3C. Don't cite this document 1.119 + other than as work in progress. 1.120 + 1.121 + <p>The (<a 1.122 + href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public 1.123 + mailing list <a 1.124 + href="mailto:www-style@w3.org?Subject=%5Bcss3-sizing%5D%20PUT%20SUBJECT%20HERE"> 1.125 + www-style@w3.org</a> (see <a 1.126 + href="http://www.w3.org/Mail/Request">instructions</a>) is preferred for 1.127 + discussion of this specification. When sending e-mail, please put the text 1.128 + “css3-sizing” in the subject, preferably like this: 1.129 + “[<!---->css3-sizing<!---->] <em>…summary of comment…</em>” 1.130 + 1.131 + <p>This document was produced by the <a href="/Style/CSS/members">CSS 1.132 + Working Group</a> (part of the <a href="/Style/">Style Activity</a>). 1.133 + 1.134 + <p>This document was produced by a group operating under the <a 1.135 + href="/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent 1.136 + Policy</a>. W3C maintains a <a href="/2004/01/pp-impl/32061/status" 1.137 + rel=disclosure>public list of any patent disclosures</a> made in 1.138 + connection with the deliverables of the group; that page also includes 1.139 + instructions for disclosing a patent. An individual who has actual 1.140 + knowledge of a patent which the individual believes contains <a 1.141 + href="/Consortium/Patent-Policy-20040205/#def-essential">Essential 1.142 + Claim(s)</a> must disclose the information in accordance with <a 1.143 + href="/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the 1.144 + W3C Patent Policy</a>.</p> 1.145 + <!--end-status--> 1.146 + 1.147 + <p>The following features are at risk: … 1.148 + 1.149 + <h2 class="no-num no-toc" id=contents> Table of contents</h2> 1.150 + <!--begin-toc--> 1.151 + 1.152 + <ul class=toc> 1.153 + <li><a href="#intro"><span class=secno>1. </span> Introduction</a> 1.154 + <ul class=toc> 1.155 + <li><a href="#placement"><span class=secno>1.1. </span> Module 1.156 + interactions</a> 1.157 + 1.158 + <li><a href="#values"><span class=secno>1.2. </span> Values</a> 1.159 + </ul> 1.160 + 1.161 + <li><a href="#terms"><span class=secno>2. </span> Terminology</a> 1.162 + 1.163 + <li><a href="#size-keywords"><span class=secno>3. </span> New Sizing 1.164 + Keywords</a> 1.165 + <ul class=toc> 1.166 + <li><a href="#width-height-keywords"><span class=secno>3.1. </span> New 1.167 + Keywords for ‘<code class=property>width</code>’ and ‘<code 1.168 + class=property>height</code>’</a> 1.169 + 1.170 + <li><a href="#the-contain-floats-value"><span class=secno>3.2. </span> 1.171 + Containing Floats</a> 1.172 + 1.173 + <li><a href="#column-sizing"><span class=secno>3.3. </span> Column 1.174 + Sizing Keywords</a> 1.175 + </ul> 1.176 + 1.177 + <li><a href="#intrinsic-sizing"><span class=secno>4. </span> Intrinsic 1.178 + Sizing Determination</a> 1.179 + <ul class=toc> 1.180 + <li><a href="#replaced-intrinsic"><span class=secno>4.1. </span> 1.181 + Intrinsic Sizes of Replaced Elements</a> 1.182 + 1.183 + <li><a href="#inline-intrinsic"><span class=secno>4.2. </span> Intrinsic 1.184 + Sizes of Non-Replaced Inlines</a> 1.185 + 1.186 + <li><a href="#block-intrinsic"><span class=secno>4.3. </span> Intrinsic 1.187 + Sizes of Non-Replaced Blocks</a> 1.188 + 1.189 + <li><a href="#table-intrinsic"><span class=secno>4.4. </span> Intrinsic 1.190 + Sizes in Table Layout</a> 1.191 + 1.192 + <li><a href="#multicol-intrinsic"><span class=secno>4.5. </span> 1.193 + Intrinsic Sizes in Multi-column Layout</a> 1.194 + </ul> 1.195 + 1.196 + <li><a href="#extrinsic-sizing"><span class=secno>5. </span> Extrinsic 1.197 + Sizing</a> 1.198 + 1.199 + <li><a href="#conformance"><span class=secno>6. </span> Conformance</a> 1.200 + <ul class=toc> 1.201 + <li><a href="#conventions"><span class=secno>6.1. </span> Document 1.202 + conventions</a> 1.203 + 1.204 + <li><a href="#conformance-classes"><span class=secno>6.2. </span> 1.205 + Conformance classes</a> 1.206 + 1.207 + <li><a href="#partial"><span class=secno>6.3. </span> Partial 1.208 + implementations</a> 1.209 + 1.210 + <li><a href="#experimental"><span class=secno>6.4. </span> Experimental 1.211 + implementations</a> 1.212 + 1.213 + <li><a href="#testing"><span class=secno>6.5. </span> Non-experimental 1.214 + implementations</a> 1.215 + 1.216 + <li><a href="#cr-exit-criteria"><span class=secno>6.6. </span> CR exit 1.217 + criteria</a> 1.218 + </ul> 1.219 + 1.220 + <li class=no-num><a href="#acknowledgments"> Acknowledgments</a> 1.221 + 1.222 + <li class=no-num><a href="#references"> References</a> 1.223 + <ul class=toc> 1.224 + <li class=no-num><a href="#normative-references"> Normative 1.225 + references</a> 1.226 + 1.227 + <li class=no-num><a href="#other-references"> Other references</a> 1.228 + </ul> 1.229 + 1.230 + <li class=no-num><a href="#index"> Index</a> 1.231 + 1.232 + <li class=no-num><a href="#property-index"> Property index</a> 1.233 + </ul> 1.234 + <!--end-toc--> 1.235 + 1.236 + <h2 id=intro><span class=secno>1. </span> Introduction</h2> 1.237 + 1.238 + <p><em>This section is not normative.</em> 1.239 + 1.240 + <p> CSS layout has several different concepts of automatic sizing that are 1.241 + used in various layout calculations. This section defines some more 1.242 + precise terminology to help connect the layout behaviors of this spec to 1.243 + the calculations used in other modules, and some new keywords for the 1.244 + ‘<code class=property>width</code>’ and ‘<code 1.245 + class=property>height</code>’ properties to allow authors to assign 1.246 + elements the dimensions resulting from these size calculations. 1.247 + 1.248 + <h3 id=placement><span class=secno>1.1. </span> Module interactions</h3> 1.249 + 1.250 + <p class=replaceme>Explain, normatively, how this module affects the 1.251 + definition of CSS. 1.252 + 1.253 + <p>This module replaces and extends the <var class=replaceme>SUMMARIZE 1.254 + HERE</var> features defined in <a href="#CSS21" 1.255 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> sections <var 1.256 + class=replaceme>W.X and Y.Z</var>. 1.257 + 1.258 + <p class=replaceme>All properties in this module apply to the 1.259 + <code>::first-line</code> and <code>::first-letter</code> pseudo-elements. 1.260 + <!-- HANDLE, THEN REMOVE THIS COMMENT 1.261 + Properties that affect box layout should be excluded from ::first-line. 1.262 + Properties that take things out-of-flow or alter box construction should 1.263 + be excluded from both ::first-line and ::first-letter. (A special exception 1.264 + is made for float on ::first-letter, which is defined to emulate drop-caps.) 1.265 + Examples of ::first-line / ::first-letter statements: 1.266 + http://dev.w3.org/csswg/css3-background/#placement 1.267 + (All properties apply to ::first-letter; some apply to ::first-line) 1.268 + --> 1.269 + 1.270 + 1.271 + <h3 id=values><span class=secno>1.2. </span> Values</h3> 1.272 + 1.273 + <p>This specification follows the <a 1.274 + href="http://www.w3.org/TR/CSS21/about.html#property-defs">CSS property 1.275 + definition conventions</a> from <a href="#CSS21" 1.276 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. Value types not defined in 1.277 + this specification are defined in CSS Level 2 Revision 1 <a 1.278 + href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. Other CSS 1.279 + modules may expand the definitions of these value types: for example <a 1.280 + href="#CSS3COLOR" rel=biblioentry>[CSS3COLOR]<!--{{CSS3COLOR}}--></a>, 1.281 + when combined with this module, expands the definition of the 1.282 + <color> value type as used in this specification. 1.283 + 1.284 + <p>In addition to the property-specific values listed in their definitions, 1.285 + all properties defined in this specification also accept the <a 1.286 + href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">inherit</a> 1.287 + keyword as their property value. For readability it has not been repeated 1.288 + explicitly. 1.289 + 1.290 + <h2 id=terms><span class=secno>2. </span> Terminology</h2> 1.291 + 1.292 + <dl> 1.293 + <dt><dfn id=size>size</dfn> 1.294 + 1.295 + <dd> A one- or two-dimensional measurement: a <a 1.296 + href="http://www.w3.org/TR/css3-writing-modes/#measure"><i>measure</i></a> 1.297 + and/or <a 1.298 + href="http://www.w3.org/TR/css3-writing-modes/#extent"><i>extent</i></a>; 1.299 + alternatively a width and/or height. 1.300 + 1.301 + <dt><dfn id=definite-size title="definite|definite size">definite 1.302 + size</dfn> 1.303 + 1.304 + <dd> A size that can be determined without measuring content; that is, a 1.305 + <var><length></var>, a size of the <i>initial containing block</i>, or 1.306 + a <var><percentage></var> that is resolved against a <a 1.307 + href="#definite-size"><i>definite</i></a> size. 1.308 + 1.309 + <dt><dfn id=indefinite-size title="indefinite|indefinite size">indefinite 1.310 + size</dfn> 1.311 + 1.312 + <dd> A size that is not <a href="#definite-size"><i>definite</i></a>. An 1.313 + <a href="#indefinite-size"><i>indefinite</i></a> <a 1.314 + href="#available-size"><i>available size</i></a> is essentially infinite. 1.315 + 1.316 + 1.317 + <dt><dfn id=available-size 1.318 + title="available|available size|available measure|available extent">available 1.319 + size</dfn> 1.320 + 1.321 + <dd> The space into which a box is laid out, typically either a 1.322 + measurement of its <i>containing block</i> or an infinite size. 1.323 + 1.324 + <dt><dfn id=fallback-size title="fallback|fallback size">fallback 1.325 + size</dfn> 1.326 + 1.327 + <dd> Some sizing algorithms do not work well with an infinite size. In 1.328 + these cases, the fallback size is used instead. Unless otherwise 1.329 + specified, this is the size of the initial containing block. 1.330 + 1.331 + <dt><dfn id=fill-available-measure>fill-available measure</dfn> 1.332 + 1.333 + <dd> Roughly, the measure a box would take if it filled its <a 1.334 + href="#available-size"><i>available measure</i></a>. The exact definition 1.335 + is given in XXX. 1.336 + <p class=note> Note: This is called the <i>available width</i> in <a 1.337 + href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 1.338 + and computed by the rules in <a 1.339 + href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">CSS2.1§10.3.3</a>. 1.340 + 1.341 + 1.342 + <dt><dfn id=max-content-measure>max-content measure</dfn> 1.343 + 1.344 + <dd> Roughly, the narrowest measure a box could take while fitting around 1.345 + its contents if <em>none</em> of the optional soft wrap opportunities 1.346 + within the box were taken. The exact definition is given in XXX. 1.347 + <p class=note> Note: This is called the <i>preferred width</i> in <a 1.348 + href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 1.349 + and the <i>maximum cell width</i> in <a 1.350 + href="http://www.w3.org/TR/CSS21/tables.html#auto-table-layout">CSS2.1§17.5.2.2</a>. 1.351 + 1.352 + 1.353 + <dt><dfn id=min-content-measure>min-content measure</dfn> 1.354 + 1.355 + <dd> Roughly, the narrowest measure a box could take while fitting around 1.356 + its contents if <em>all</em> soft wrap opportunities within the box were 1.357 + taken. The exact definition is given in XXX. 1.358 + <p class=note> Note: This is called the <i>preferred minimum width</i> in 1.359 + <a 1.360 + href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 1.361 + and the <i>minimum content width</i> in <a 1.362 + href="http://www.w3.org/TR/CSS21/tables.html#auto-table-layout">CSS2.1§17.5.2.2</a>. 1.363 + 1.364 + 1.365 + <dt><dfn id=fit-content-measure>fit-content measure</dfn> 1.366 + 1.367 + <dd> If the <a href="#available-size"><i>available</i></a> measure is 1.368 + finite, equal to <code>min(<a href="#max-content"><i>max-content</i></a>, 1.369 + max(<a href="#min-content"><i>min-content</i></a>, <a 1.370 + href="#fill-available"><i>fill-available</i></a>))</code>. Otherwise, 1.371 + equal to the <a href="#max-content-measure"><i>max-content 1.372 + measure</i></a>. 1.373 + <p class=note> Note: This is called the <i>shrink-to-fit</i> width in <a 1.374 + href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 1.375 + and <a href="http://www.w3.org/TR/css3-multicol/#pseudo-algorithm">CSS 1.376 + Multi-column Layout § 3.4</a>. 1.377 + 1.378 + <dt><dfn id=fill-available-extent>fill-available extent</dfn> 1.379 + 1.380 + <dd> Roughly, the extent a box would take if it filled its <a 1.381 + href="#available-size"><i>available extent</i></a>. The exact definition 1.382 + is given in XXX. 1.383 + 1.384 + <dt><dfn id=max-content-extent>max-content extent</dfn> 1.385 + 1.386 + <dd> Roughly, the extent of the content after layout. 1.387 + 1.388 + <dt><dfn id=min-content-extent>min-content extent</dfn> 1.389 + 1.390 + <dd> Equivalent to the <a href="#max-content-extent"><i>max-content 1.391 + extent</i></a>. 1.392 + 1.393 + <dt><dfn id=fit-content-extent>fit-content extent</dfn> 1.394 + 1.395 + <dd> Analogous to the <a href="#fit-content-measure"><i>fit-content 1.396 + measure</i></a>. 1.397 + 1.398 + <dt><dfn id=max-size-contribution>max-size contribution</dfn> 1.399 + 1.400 + <dd> The size that a box contributes to its containing block's 1.401 + <i>max-content size</i>. 1.402 + 1.403 + <dt><dfn id=min-size-contribution>min-size contribution</dfn> 1.404 + 1.405 + <dd> The size that a box contributes to its containing block's 1.406 + <i>min-content size</i>. 1.407 + 1.408 + <dt><dfn id=max-size-constraint>max-size constraint</dfn> 1.409 + 1.410 + <dd> A sizing constraint imposed by the box's containing block that causes 1.411 + it to produce its <a href="#max-size-contribution"><i>max-size 1.412 + contribution</i></a>. 1.413 + 1.414 + <dt><dfn id=min-size-constraint>min-size constraint</dfn> 1.415 + 1.416 + <dd> A sizing constraint imposed by the box's containing block that causes 1.417 + it to produce its <a href="#min-size-contribution"><i>min-size 1.418 + contribution</i></a>. 1.419 + </dl> 1.420 + 1.421 + <h2 id=size-keywords><span class=secno>3. </span> New Sizing Keywords</h2> 1.422 + 1.423 + <h3 id=width-height-keywords><span class=secno>3.1. </span> New Keywords 1.424 + for ‘<code class=property>width</code>’ and ‘<code 1.425 + class=property>height</code>’</h3> 1.426 + 1.427 + <table class=propdef> 1.428 + <tbody> 1.429 + <tr> 1.430 + <th>Properties: 1.431 + 1.432 + <td>‘<code class=property>width</code>’, ‘<code 1.433 + class=property>min-width</code>’, ‘<code 1.434 + class=property>max-width</code>’, ‘<code 1.435 + class=property>height</code>’, ‘<code 1.436 + class=property>min-height</code>’, ‘<code 1.437 + class=property>max-height</code>’ 1.438 + 1.439 + <tr> 1.440 + <th>New Values: 1.441 + 1.442 + <td>‘<a href="#fill-available"><code 1.443 + class=css>fill-available</code></a>’ | ‘<a 1.444 + href="#max-content"><code class=css>max-content</code></a>’ | ‘<a 1.445 + href="#min-content"><code class=css>min-content</code></a>’ | ‘<a 1.446 + href="#fit-content"><code class=css>fit-content</code></a>’ 1.447 + 1.448 + <tr> 1.449 + <th>Initial: 1.450 + 1.451 + <td>as defined in <a href="#CSS21" 1.452 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> and <a 1.453 + href="#CSS3-FLEXBOX" 1.454 + rel=biblioentry>[CSS3-FLEXBOX]<!--{{!CSS3-FLEXBOX}}--></a> 1.455 + 1.456 + <tr> 1.457 + <th>Applies to: 1.458 + 1.459 + <td>as defined in <a href="#CSS21" 1.460 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.461 + 1.462 + <tr> 1.463 + <th>Inherited: 1.464 + 1.465 + <td>as defined in <a href="#CSS21" 1.466 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.467 + 1.468 + <tr> 1.469 + <th>Percentages: 1.470 + 1.471 + <td>as defined in <a href="#CSS21" 1.472 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.473 + 1.474 + <tr> 1.475 + <th>Media: 1.476 + 1.477 + <td>as defined in <a href="#CSS21" 1.478 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.479 + 1.480 + <tr> 1.481 + <th>Computed value: 1.482 + 1.483 + <td>specified value if keyword specified, else as defined in <a 1.484 + href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.485 + </table> 1.486 + 1.487 + <p>There are four types of automatically-determined sizes in CSS (which are 1.488 + represented in the width and height properties by the keywords defined 1.489 + above): 1.490 + 1.491 + <dl> 1.492 + <dt><dfn id=fill-available>‘<code 1.493 + class=css>fill-available</code>’</dfn> 1.494 + 1.495 + <dd> Use the <a href="#fill-available-measure"><i>fill-available 1.496 + measure</i></a> or <a href="#fill-available-extent"><i>fill-available 1.497 + extent</i></a>, as appropriate to the writing mode. 1.498 + 1.499 + <dt><dfn id=max-content>‘<code class=css>max-content</code>’</dfn> 1.500 + 1.501 + <dd> Use the <a href="#max-content-measure"><i>max-content measure</i></a> 1.502 + or <a href="#max-content-extent"><i>max-content extent</i></a>, as 1.503 + appropriate to the writing mode. 1.504 + 1.505 + <dt><dfn id=min-content>‘<code class=css>min-content</code>’</dfn> 1.506 + 1.507 + <dd> Use the <a href="#min-content-measure"><i>min-content measure</i></a> 1.508 + or <a href="#min-content-extent"><i>min-content extent</i></a>, as 1.509 + appropriate to the writing mode. 1.510 + 1.511 + <dt><dfn id=fit-content>‘<code class=css>fit-content</code>’</dfn> 1.512 + 1.513 + <dd> Use the <a href="#fit-content-measure"><i>fit-content measure</i></a> 1.514 + or <a href="#fit-content-extent"><i>fit-content extent</i></a>, as 1.515 + appropriate to the writing mode. 1.516 + </dl> 1.517 + 1.518 + <h3 id=the-contain-floats-value><span class=secno>3.2. </span> Containing 1.519 + Floats</h3> 1.520 + 1.521 + <table class=propdef> 1.522 + <tbody> 1.523 + <tr> 1.524 + <th>Properties: 1.525 + 1.526 + <td>‘<code class=property>min-width</code>’, ‘<code 1.527 + class=property>min-height</code>’ 1.528 + 1.529 + <tr> 1.530 + <th>New Value: 1.531 + 1.532 + <td>‘<a href="#contain-floats"><code 1.533 + class=css>contain-floats</code></a>’ 1.534 + 1.535 + <tr> 1.536 + <th>Initial: 1.537 + 1.538 + <td>as defined in <a href="#CSS21" 1.539 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> and <a 1.540 + href="#CSS3-FLEXBOX" 1.541 + rel=biblioentry>[CSS3-FLEXBOX]<!--{{!CSS3-FLEXBOX}}--></a> 1.542 + 1.543 + <tr> 1.544 + <th>Applies to: 1.545 + 1.546 + <td>as defined in <a href="#CSS21" 1.547 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.548 + 1.549 + <tr> 1.550 + <th>Inherited: 1.551 + 1.552 + <td>as defined in <a href="#CSS21" 1.553 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.554 + 1.555 + <tr> 1.556 + <th>Percentages: 1.557 + 1.558 + <td>as defined in <a href="#CSS21" 1.559 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.560 + 1.561 + <tr> 1.562 + <th>Media: 1.563 + 1.564 + <td>as defined in <a href="#CSS21" 1.565 + rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.566 + 1.567 + <tr> 1.568 + <th>Computed value: 1.569 + 1.570 + <td>specified value if keyword specified, else as defined in <a 1.571 + href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> 1.572 + </table> 1.573 + 1.574 + <dl> 1.575 + <dt><dfn id=contain-floats>‘<code 1.576 + class=css>contain-floats</code>’</dfn> 1.577 + 1.578 + <dd> Equivalent to ‘<a href="#min-content"><code 1.579 + class=css>min-content</code></a>’ except that when applied to the 1.580 + extent of a block box it forces the inner extent to be large enough to 1.581 + contain the margin boxes of any floats that originate inside the block 1.582 + and that participate in the same block formatting context as the block's 1.583 + immediate contents. 1.584 + </dl> 1.585 + 1.586 + <h3 id=column-sizing><span class=secno>3.3. </span> Column Sizing Keywords</h3> 1.587 + 1.588 + <table class=propdef> 1.589 + <tbody> 1.590 + <tr> 1.591 + <th>Property: 1.592 + 1.593 + <td>‘<code class=property>column-width</code>’ 1.594 + 1.595 + <tr> 1.596 + <th>New Values: 1.597 + 1.598 + <td>‘<a href="#min-content"><code class=css>min-content</code></a>’ 1.599 + | ‘<a href="#max-content"><code class=css>max-content</code></a>’ | 1.600 + ‘<a href="#fill-available"><code 1.601 + class=css>fill-available</code></a>’ | ‘<a 1.602 + href="#fit-content"><code class=css>fit-content</code></a>’ 1.603 + 1.604 + <tr> 1.605 + <th>Initial: 1.606 + 1.607 + <td>as defined in <a href="#CSS3COL" 1.608 + rel=biblioentry>[CSS3COL]<!--{{!CSS3COL}}--></a> 1.609 + 1.610 + <tr> 1.611 + <th>Applies to: 1.612 + 1.613 + <td>as defined in <a href="#CSS3COL" 1.614 + rel=biblioentry>[CSS3COL]<!--{{!CSS3COL}}--></a> 1.615 + 1.616 + <tr> 1.617 + <th>Inherited: 1.618 + 1.619 + <td>as defined in <a href="#CSS3COL" 1.620 + rel=biblioentry>[CSS3COL]<!--{{!CSS3COL}}--></a> 1.621 + 1.622 + <tr> 1.623 + <th>Percentages: 1.624 + 1.625 + <td>as defined in <a href="#CSS3COL" 1.626 + rel=biblioentry>[CSS3COL]<!--{{!CSS3COL}}--></a> 1.627 + 1.628 + <tr> 1.629 + <th>Media: 1.630 + 1.631 + <td>as defined in <a href="#CSS3COL" 1.632 + rel=biblioentry>[CSS3COL]<!--{{!CSS3COL}}--></a> 1.633 + 1.634 + <tr> 1.635 + <th>Computed value: 1.636 + 1.637 + <td>specified value if keyword specified, else as defined in <a 1.638 + href="#CSS3COL" rel=biblioentry>[CSS3COL]<!--{{!CSS3COL}}--></a> 1.639 + </table> 1.640 + 1.641 + <p>When used as values for <a 1.642 + href="http://www.w3.org/TR/css3-multicol/#cw">‘<code 1.643 + class=property>column-width</code>’</a>, the new keywords specify the 1.644 + optimal column width: 1.645 + 1.646 + <dl> 1.647 + <dt>‘<a href="#min-content"><code class=css>min-content</code></a>’ 1.648 + 1.649 + <dd>Specifies the optimal column width as the <a 1.650 + href="#min-content-measure"><i>min-content measure</i></a> of the 1.651 + multi-column element's contents. 1.652 + 1.653 + <dt>‘<a href="#max-content"><code class=css>max-content</code></a>’ 1.654 + 1.655 + <dd>Specifies the optimal column width as the <a 1.656 + href="#max-content-measure"><i>max-content measure</i></a> of the 1.657 + multi-column element's contents. 1.658 + 1.659 + <dt>‘<a href="#fill-available"><code 1.660 + class=css>fill-available</code></a>’ 1.661 + 1.662 + <dd>Specifies the optimal column width as the <a 1.663 + href="#fill-available-measure"><i>fill-available measure</i></a> of the 1.664 + multi-column element. 1.665 + 1.666 + <dt>‘<a href="#fit-content"><code class=css>fit-content</code></a>’ 1.667 + 1.668 + <dd>Specifies the optimal column width as <code>min(<a 1.669 + href="#max-content"><i>max-content</i></a>, max(<a 1.670 + href="#min-content"><i>min-content</i></a>, <a 1.671 + href="#fill-available"><i>fill-available</i></a>))</code>. 1.672 + </dl> 1.673 + 1.674 + <h2 id=intrinsic-sizing><span class=secno>4. </span> Intrinsic Sizing 1.675 + Determination</h2> 1.676 + 1.677 + <p> <dfn id=intrinsic-sizing0>Intrinsic sizing</dfn> determines sizes based 1.678 + on the contents of an element, without regard for its context. 1.679 + 1.680 + <h3 id=replaced-intrinsic><span class=secno>4.1. </span> Intrinsic Sizes of 1.681 + Replaced Elements</h3> 1.682 + 1.683 + <p> For replaced elements, the <a 1.684 + href="#min-content"><i>min-content</i></a> and <a 1.685 + href="#max-content"><i>max-content</i></a> sizes are equivalent and 1.686 + correspond to the used size of the replaced element according to the 1.687 + ‘<code class=css>auto</code>’ size calculation in the corresponding 1.688 + dimension. (See <a href="#CSS3-IMAGES" 1.689 + rel=biblioentry>[CSS3-IMAGES]<!--{{!CSS3-IMAGES}}--></a>.) 1.690 + 1.691 + <h3 id=inline-intrinsic><span class=secno>4.2. </span> Intrinsic Sizes of 1.692 + Non-Replaced Inlines</h3> 1.693 + 1.694 + <p> The <a href="#min-content-measure"><i>min-content measure</i></a> of an 1.695 + inline box is the length of the largest unbreakable sequence of inline 1.696 + content. The <i>min-measure contribution</i> of an inline box is its <a 1.697 + href="#min-content-measure"><i>min-content measure</i></a>, plus any 1.698 + inline-axis margin, border, and padding adjacent to that sequence. 1.699 + 1.700 + <p> The <a href="#max-content-measure"><i>max-content measure</i></a> of an 1.701 + inline box is the length of the largest sequence of inline content on a 1.702 + single line when only forced line breaks are taken. The <i>max-measure 1.703 + contribution</i> of an inline box is its <a 1.704 + href="#max-content-measure"><i>max-content measure</i></a>, plus any 1.705 + inline-axis margin, border, and padding adjacent to that sequence. 1.706 + 1.707 + <p> The <a href="#min-content-extent"><i>min-content extent</i></a>, <a 1.708 + href="#max-content-extent"><i>max-content extent</i></a>, <i>min-extent 1.709 + contribution</i>, and <i>max-content contribution</i> of an inline box are 1.710 + the distance from the head edge of the first line box to the foot edge of 1.711 + the last line box on which the inline appears. 1.712 + 1.713 + <h3 id=block-intrinsic><span class=secno>4.3. </span> Intrinsic Sizes of 1.714 + Non-Replaced Blocks</h3> 1.715 + 1.716 + <p> The <a href="#min-content-measure"><i>min-content measure</i></a> of a 1.717 + block box is the largest <i>min-measure contribution</i> of its in-flow or 1.718 + floated children. 1.719 + 1.720 + <p> The <a href="#max-content-measure"><i>max-content measure</i></a> of a 1.721 + block box is the measure of the box after layout, if all children are 1.722 + sized under a <a href="#max-size-constraint"><i>max-size 1.723 + constraint</i></a>. 1.724 + 1.725 + <p> If the computed measure of a block box is ‘<a 1.726 + href="#min-content"><code class=css>min-content</code></a>’, ‘<a 1.727 + href="#max-content"><code class=css>max-content</code></a>’, or a <a 1.728 + href="#definite-size"><i>definite size</i></a>, its <i>min-measure 1.729 + contribution</i> is that size plus any inline-axis margin, border, and 1.730 + padding. Otherwise, if the computed measure of the block is ‘<a 1.731 + href="#fit-content"><code class=css>fit-content</code></a>’, ‘<code 1.732 + class=css>auto</code>’, or ‘<a href="#fill-available"><code 1.733 + class=css>fill-available</code></a>’, its <i>min-measure 1.734 + contribution</i> is its <a href="#min-content-measure"><i>min-content 1.735 + measure</i></a> plus any inline-axis margin, border, and padding. 1.736 + 1.737 + <p> If the computed measure of a block box is ‘<a 1.738 + href="#min-content"><code class=css>min-content</code></a>’, ‘<a 1.739 + href="#max-content"><code class=css>max-content</code></a>’, or a <a 1.740 + href="#definite-size"><i>definite size</i></a>, its <i>max-measure 1.741 + contribution</i> is that size plus any inline-axis margin, border, and 1.742 + padding. Otherwise, if the computed measure of the block is ‘<a 1.743 + href="#fit-content"><code class=css>fit-content</code></a>’, ‘<code 1.744 + class=css>auto</code>’, or ‘<a href="#fill-available"><code 1.745 + class=css>fill-available</code></a>’, its <i>max-measure 1.746 + contribution</i> is its <a href="#max-content-measure"><i>max-content 1.747 + measure</i></a> plus any inline-axis margin, border, and padding. 1.748 + 1.749 + <p> The <a href="#min-content-extent"><i>min-content extent</i></a> and <a 1.750 + href="#max-content-extent"><i>max-content extent</i></a> of a block box is 1.751 + the content extent as defined (for horizontal writing modes) in <a 1.752 + href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">CSS2.1§10.6.3</a> 1.753 + and <a 1.754 + href="http://www.w3.org/TR/CSS21/tables.html#height-layout">CSS2.1§17.5.3</a> 1.755 + for elements with ‘<code class=css>height: auto</code>’, and 1.756 + analogously for vertical writing modes. 1.757 + 1.758 + <p> The <i>min-extent contribution</i> and <i>max-extent contribution</i> 1.759 + of a block box is the extent of the block after layout, plus any 1.760 + block-axis margin, border, and padding. 1.761 + 1.762 + <h3 id=table-intrinsic><span class=secno>4.4. </span> Intrinsic Sizes in 1.763 + Table Layout</h3> 1.764 + 1.765 + <p class=issue> ??? 1.766 + 1.767 + <h3 id=multicol-intrinsic><span class=secno>4.5. </span> Intrinsic Sizes in 1.768 + Multi-column Layout</h3> 1.769 + 1.770 + <p class=issue> See 1.771 + http://lists.w3.org/Archives/Public/www-style/2011Apr/0316.html 1.772 + http://lists.w3.org/Archives/Public/www-style/2011May/0468.html 1.773 + 1.774 + <p class=issue>This section is under discussion and may be removed 1.775 + 1.776 + <dl> 1.777 + <dt>min-content 1.778 + 1.779 + <dd>The <a href="#min-content"><i>min-content</i></a> measure of the 1.780 + multi-column element is the <a href="#min-content"><i>min-content</i></a> 1.781 + measure of the multi-column element's contents. 1.782 + 1.783 + <dt>max-content 1.784 + </dl> 1.785 + 1.786 + <p>For multi-column elements laid out with infinite available measure (see 1.787 + <a href="#orthogonal-multicol">Multi-column Layout in Orthogonal 1.788 + Flows</a>), the <a href="#min-content"><i>min-content</i></a> extent is 1.789 + the extent that would result from taking every permissible pagination 1.790 + break as a column break, and the <a 1.791 + href="#max-content"><i>max-content</i></a> extent is the extent that would 1.792 + result from taking only the forced breaks. For all other multi-column 1.793 + elements it is, like CSS2.1 block-level boxes, the extent that would be 1.794 + calculated for an ‘<code class=css>auto</code>’ extent per 1.795 + [[CSS3MULTICOL]]. 1.796 + 1.797 + <pre> 1.798 +NOTES FROM ROSSEN: 1.799 + min-content measure is min(column-width, min-content) 1.800 + max-content measure is 1.801 + 1. Pass w/ colspans displ: none; 1.802 + Get width 1.803 + 2. Pass with colspans only in width 1.804 + Get remaining height 1.805 + 3. Pass w/ spans again using remaining height 1.806 + Get width 1.807 + 4. Layout in width as final 1.808 + Will lay out perfectly without colspans; will have some slack but no 1.809 + overflow when colspans present. 1.810 +</pre> 1.811 + 1.812 + <h2 id=extrinsic-sizing><span class=secno>5. </span> Extrinsic Sizing</h2> 1.813 + 1.814 + <p> <dfn id=extrinsic-sizing0>Extrinsic sizing</dfn> determines sizes based 1.815 + on the context of an element, without regard for its contents. 1.816 + 1.817 + <p> The inner <a href="#fill-available-measure"><i>fill-available 1.818 + measure</i></a> of a box is the larger of… 1.819 + 1.820 + <ul> 1.821 + <li> Its containing block's computed ‘<code 1.822 + class=property>min-measure</code>’ if that measure is <a 1.823 + href="#definite-size"><i>definite</i></a>, or zero otherwise. 1.824 + 1.825 + <li> The smaller of: 1.826 + <ul> 1.827 + <li> Its containing block's computed ‘<code 1.828 + class=property>max-measure</code>’ if that measure is <a 1.829 + href="#definite-size"><i>definite</i></a>, or infinity otherwise. 1.830 + 1.831 + <li> The containing block's computed measure if that is <a 1.832 + href="#definite-size"><i>definite</i></a>, or its inner <a 1.833 + href="#fill-available-measure"><i>fill-available measure</i></a> 1.834 + otherwise. 1.835 + </ul> 1.836 + </ul> 1.837 + 1.838 + <p> …less the box's inline-axis margins, borders, and padding. 1.839 + 1.840 + <p> The <a href="#fill-available-extent"><i>fill-available extent</i></a> 1.841 + of a box is defined analogously, but in the other dimension. <!-- 1.842 + dddddddd 1.843 +TTTTTTTTTTTTTTTTTTTTTTThhhhhhh EEEEEEEEEEEEEEEEEEEEEE d::::::d 1.844 +T:::::::::::::::::::::Th:::::h E::::::::::::::::::::E d::::::d 1.845 +T:::::::::::::::::::::Th:::::h E::::::::::::::::::::E d::::::d 1.846 +T:::::TT:::::::TT:::::Th:::::h EE::::::EEEEEEEEE::::E d:::::d 1.847 +TTTTTT T:::::T TTTTTT h::::h hhhhh eeeeeeeeeeee E:::::E EEEEEEnnnn nnnnnnnn ddddddddd:::::d 1.848 + T:::::T h::::hh:::::hhh ee::::::::::::ee E:::::E n:::nn::::::::nn dd::::::::::::::d 1.849 + T:::::T h::::::::::::::hh e::::::eeeee:::::ee E::::::EEEEEEEEEE n::::::::::::::nn d::::::::::::::::d 1.850 + T:::::T h:::::::hhh::::::h e::::::e e:::::e E:::::::::::::::E nn:::::::::::::::nd:::::::ddddd:::::d 1.851 + T:::::T h::::::h h::::::he:::::::eeeee::::::e E:::::::::::::::E n:::::nnnn:::::nd::::::d d:::::d 1.852 + T:::::T h:::::h h:::::he:::::::::::::::::e E::::::EEEEEEEEEE n::::n n::::nd:::::d d:::::d 1.853 + T:::::T h:::::h h:::::he::::::eeeeeeeeeee E:::::E n::::n n::::nd:::::d d:::::d 1.854 + T:::::T h:::::h h:::::he:::::::e E:::::E EEEEEE n::::n n::::nd:::::d d:::::d 1.855 + TT:::::::TT h:::::h h:::::he::::::::e EE::::::EEEEEEEE:::::E n::::n n::::nd::::::ddddd::::::dd 1.856 + T:::::::::T h:::::h h:::::h e::::::::eeeeeeee E::::::::::::::::::::E n::::n n::::n d:::::::::::::::::d 1.857 + T:::::::::T h:::::h h:::::h ee:::::::::::::e E::::::::::::::::::::E n::::n n::::n d:::::::::ddd::::d 1.858 + TTTTTTTTTTT hhhhhhh hhhhhhh eeeeeeeeeeeeee EEEEEEEEEEEEEEEEEEEEEE nnnnnn nnnnnn ddddddddd ddddd 1.859 +--> 1.860 + 1.861 + 1.862 + <h2 id=conformance><span class=secno>6. </span> Conformance</h2> 1.863 + 1.864 + <h3 id=conventions><span class=secno>6.1. </span> Document conventions</h3> 1.865 + 1.866 + <p>Conformance requirements are expressed with a combination of descriptive 1.867 + assertions and RFC 2119 terminology. The key words “MUST”, “MUST 1.868 + NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, 1.869 + “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the 1.870 + normative parts of this document are to be interpreted as described in RFC 1.871 + 2119. However, for readability, these words do not appear in all uppercase 1.872 + letters in this specification. 1.873 + 1.874 + <p>All of the text of this specification is normative except sections 1.875 + explicitly marked as non-normative, examples, and notes. <a 1.876 + href="#RFC2119" rel=biblioentry>[RFC2119]<!--{{!RFC2119}}--></a> 1.877 + 1.878 + <p>Examples in this specification are introduced with the words “for 1.879 + example” or are set apart from the normative text with 1.880 + <code>class="example"</code>, like this: 1.881 + 1.882 + <div class=example> 1.883 + <p>This is an example of an informative example.</p> 1.884 + </div> 1.885 + 1.886 + <p>Informative notes begin with the word “Note” and are set apart from 1.887 + the normative text with <code>class="note"</code>, like this: 1.888 + 1.889 + <p class=note>Note, this is an informative note. 1.890 + 1.891 + <h3 id=conformance-classes><span class=secno>6.2. </span> Conformance 1.892 + classes</h3> 1.893 + 1.894 + <p>Conformance to <var class=replaceme>CSS Intrinsic Sizing Module</var> is 1.895 + defined for three conformance classes: 1.896 + 1.897 + <dl> 1.898 + <dt><dfn id=style-sheet title="style sheet!!as conformance class">style 1.899 + sheet</dfn> 1.900 + 1.901 + <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#style-sheet">CSS 1.902 + style sheet</a>. 1.903 + 1.904 + <dt><dfn id=renderer>renderer</dfn> 1.905 + 1.906 + <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a> 1.907 + that interprets the semantics of a style sheet and renders documents that 1.908 + use them. 1.909 + 1.910 + <dt><dfn id=authoring-tool>authoring tool</dfn> 1.911 + 1.912 + <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a> 1.913 + that writes a style sheet. 1.914 + </dl> 1.915 + 1.916 + <p>A style sheet is conformant to <var class=replaceme>CSS Intrinsic Sizing 1.917 + Module</var> if all of its statements that use syntax defined in this 1.918 + module are valid according to the generic CSS grammar and the individual 1.919 + grammars of each feature defined in this module. 1.920 + 1.921 + <p>A renderer is conformant to <var class=replaceme>CSS Intrinsic Sizing 1.922 + Module</var> if, in addition to interpreting the style sheet as defined by 1.923 + the appropriate specifications, it supports all the features defined by 1.924 + <var class=replaceme>CSS Intrinsic Sizing Module</var> by parsing them 1.925 + correctly and rendering the document accordingly. However, the inability 1.926 + of a UA to correctly render a document due to limitations of the device 1.927 + does not make the UA non-conformant. (For example, a UA is not required to 1.928 + render color on a monochrome monitor.) 1.929 + 1.930 + <p>An authoring tool is conformant to <var class=replaceme>CSS Intrinsic 1.931 + Sizing Module</var> if it writes style sheets that are syntactically 1.932 + correct according to the generic CSS grammar and the individual grammars 1.933 + of each feature in this module, and meet all other conformance 1.934 + requirements of style sheets as described in this module. 1.935 + 1.936 + <h3 id=partial><span class=secno>6.3. </span> Partial implementations</h3> 1.937 + 1.938 + <p>So that authors can exploit the forward-compatible parsing rules to 1.939 + assign fallback values, CSS renderers <strong>must</strong> treat as 1.940 + invalid (and <a 1.941 + href="http://www.w3.org/TR/CSS21/conform.html#ignore">ignore as 1.942 + appropriate</a>) any at-rules, properties, property values, keywords, and 1.943 + other syntactic constructs for which they have no usable level of support. 1.944 + In particular, user agents <strong>must not</strong> selectively ignore 1.945 + unsupported component values and honor supported values in a single 1.946 + multi-value property declaration: if any value is considered invalid (as 1.947 + unsupported values must be), CSS requires that the entire declaration be 1.948 + ignored. 1.949 + 1.950 + <h3 id=experimental><span class=secno>6.4. </span> Experimental 1.951 + implementations</h3> 1.952 + 1.953 + <p>To avoid clashes with future CSS features, the CSS2.1 specification 1.954 + reserves a <a 1.955 + href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed 1.956 + syntax</a> for proprietary and experimental extensions to CSS. 1.957 + 1.958 + <p>Prior to a specification reaching the Candidate Recommendation stage in 1.959 + the W3C process, all implementations of a CSS feature are considered 1.960 + experimental. The CSS Working Group recommends that implementations use a 1.961 + vendor-prefixed syntax for such features, including those in W3C Working 1.962 + Drafts. This avoids incompatibilities with future changes in the draft. 1.963 + 1.964 + <h3 id=testing><span class=secno>6.5. </span> Non-experimental 1.965 + implementations</h3> 1.966 + 1.967 + <p>Once a specification reaches the Candidate Recommendation stage, 1.968 + non-experimental implementations are possible, and implementors should 1.969 + release an unprefixed implementation of any CR-level feature they can 1.970 + demonstrate to be correctly implemented according to spec. 1.971 + 1.972 + <p>To establish and maintain the interoperability of CSS across 1.973 + implementations, the CSS Working Group requests that non-experimental CSS 1.974 + renderers submit an implementation report (and, if necessary, the 1.975 + testcases used for that implementation report) to the W3C before releasing 1.976 + an unprefixed implementation of any CSS features. Testcases submitted to 1.977 + W3C are subject to review and correction by the CSS Working Group. 1.978 + 1.979 + <p>Further information on submitting testcases and implementation reports 1.980 + can be found from on the CSS Working Group's website at <a 1.981 + href="http://www.w3.org/Style/CSS/Test/">http://www.w3.org/Style/CSS/Test/</a>. 1.982 + Questions should be directed to the <a 1.983 + href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a> 1.984 + mailing list. 1.985 + 1.986 + <h3 id=cr-exit-criteria><span class=secno>6.6. </span> CR exit criteria</h3> 1.987 + 1.988 + <p class=issue>[Change or remove the following CR exit criteria if the spec 1.989 + is not a module, but, e.g., a Note or a profile. This text was <a 1.990 + href="http://www.w3.org/Style/CSS/Tracker/actions/44"> decided on 1.991 + 2008-06-04.</a>] 1.992 + 1.993 + <p> For this specification to be advanced to Proposed Recommendation, there 1.994 + must be at least two independent, interoperable implementations of each 1.995 + feature. Each feature may be implemented by a different set of products, 1.996 + there is no requirement that all features be implemented by a single 1.997 + product. For the purposes of this criterion, we define the following 1.998 + terms: 1.999 + 1.1000 + <dl> 1.1001 + <dt>independent 1.1002 + 1.1003 + <dd>each implementation must be developed by a different party and cannot 1.1004 + share, reuse, or derive from code used by another qualifying 1.1005 + implementation. Sections of code that have no bearing on the 1.1006 + implementation of this specification are exempt from this requirement. 1.1007 + 1.1008 + <dt>interoperable 1.1009 + 1.1010 + <dd>passing the respective test case(s) in the official CSS test suite, 1.1011 + or, if the implementation is not a Web browser, an equivalent test. Every 1.1012 + relevant test in the test suite should have an equivalent test created if 1.1013 + such a user agent (UA) is to be used to claim interoperability. In 1.1014 + addition if such a UA is to be used to claim interoperability, then there 1.1015 + must one or more additional UAs which can also pass those equivalent 1.1016 + tests in the same way for the purpose of interoperability. The equivalent 1.1017 + tests must be made publicly available for the purposes of peer review. 1.1018 + 1.1019 + <dt>implementation 1.1020 + 1.1021 + <dd>a user agent which: 1.1022 + <ol class=inline> 1.1023 + <li>implements the specification. 1.1024 + 1.1025 + <li>is available to the general public. The implementation may be a 1.1026 + shipping product or other publicly available version (i.e., beta 1.1027 + version, preview release, or “nightly build”). Non-shipping product 1.1028 + releases must have implemented the feature(s) for a period of at least 1.1029 + one month in order to demonstrate stability. 1.1030 + 1.1031 + <li>is not experimental (i.e., a version specifically designed to pass 1.1032 + the test suite and is not intended for normal usage going forward). 1.1033 + </ol> 1.1034 + </dl> 1.1035 + 1.1036 + <p>The specification will remain Candidate Recommendation for at least six 1.1037 + months. 1.1038 + 1.1039 + <h2 class=no-num id=acknowledgments> Acknowledgments</h2> 1.1040 + 1.1041 + <p><var class=replaceme>[acknowledgments]</var> 1.1042 + 1.1043 + <h2 class=no-num id=references> References</h2> 1.1044 + 1.1045 + <h3 class=no-num id=normative-references> Normative references</h3> 1.1046 + <!--begin-normative--> 1.1047 + <!-- Sorted by label --> 1.1048 + 1.1049 + <dl class=bibliography> 1.1050 + <dt style="display: none"><!-- keeps the doc valid if the DL is empty --> 1.1051 + <!----> 1.1052 + 1.1053 + <dt id=CSS21>[CSS21] 1.1054 + 1.1055 + <dd>Bert Bos; et al. <a 1.1056 + href="http://www.w3.org/TR/2011/REC-CSS2-20110607"><cite>Cascading Style 1.1057 + Sheets Level 2 Revision 1 (CSS 2.1) Specification.</cite></a> 7 June 1.1058 + 2011. W3C Recommendation. URL: <a 1.1059 + href="http://www.w3.org/TR/2011/REC-CSS2-20110607">http://www.w3.org/TR/2011/REC-CSS2-20110607</a> 1.1060 + </dd> 1.1061 + <!----> 1.1062 + 1.1063 + <dt id=CSS3-FLEXBOX>[CSS3-FLEXBOX] 1.1064 + 1.1065 + <dd>Tab Atkins Jr.; Elika J. Etemad; Alex Mogilevsky. <a 1.1066 + href="http://www.w3.org/TR/2012/WD-css3-flexbox-20120612/"><cite>CSS 1.1067 + Flexible Box Layout Module.</cite></a> 12 June 2012. W3C Working Draft. 1.1068 + (Work in progress.) URL: <a 1.1069 + href="http://www.w3.org/TR/2012/WD-css3-flexbox-20120612/">http://www.w3.org/TR/2012/WD-css3-flexbox-20120612/</a> 1.1070 + </dd> 1.1071 + <!----> 1.1072 + 1.1073 + <dt id=CSS3-IMAGES>[CSS3-IMAGES] 1.1074 + 1.1075 + <dd>Elika J. Etemad; Tab Atkins Jr. <a 1.1076 + href="http://www.w3.org/TR/2012/CR-css3-images-20120417/"><cite>CSS Image 1.1077 + Values and Replaced Content Module Level 3.</cite></a> 17 April 2012. W3C 1.1078 + Candidate Recommendation. (Work in progress.) URL: <a 1.1079 + href="http://www.w3.org/TR/2012/CR-css3-images-20120417/">http://www.w3.org/TR/2012/CR-css3-images-20120417/</a> 1.1080 + </dd> 1.1081 + <!----> 1.1082 + 1.1083 + <dt id=CSS3COL>[CSS3COL] 1.1084 + 1.1085 + <dd>Håkon Wium Lie. <a 1.1086 + href="http://www.w3.org/TR/2011/CR-css3-multicol-20110412"><cite>CSS 1.1087 + Multi-column Layout Module.</cite></a> 12 April 2011. W3C Candidate 1.1088 + Recommendation. (Work in progress.) URL: <a 1.1089 + href="http://www.w3.org/TR/2011/CR-css3-multicol-20110412">http://www.w3.org/TR/2011/CR-css3-multicol-20110412</a> 1.1090 + </dd> 1.1091 + <!----> 1.1092 + 1.1093 + <dt id=RFC2119>[RFC2119] 1.1094 + 1.1095 + <dd>S. Bradner. <a href="http://www.ietf.org/rfc/rfc2119.txt"><cite>Key 1.1096 + words for use in RFCs to Indicate Requirement Levels.</cite></a> Internet 1.1097 + RFC 2119. URL: <a 1.1098 + href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a> 1.1099 + </dd> 1.1100 + <!----> 1.1101 + </dl> 1.1102 + <!--end-normative--> 1.1103 + 1.1104 + <h3 class=no-num id=other-references> Other references</h3> 1.1105 + <!--begin-informative--> 1.1106 + <!-- Sorted by label --> 1.1107 + 1.1108 + <dl class=bibliography> 1.1109 + <dt style="display: none"><!-- keeps the doc valid if the DL is empty --> 1.1110 + <!----> 1.1111 + 1.1112 + <dt id=CSS3COLOR>[CSS3COLOR] 1.1113 + 1.1114 + <dd>Tantek Çelik; Chris Lilley; L. David Baron. <a 1.1115 + href="http://www.w3.org/TR/2011/REC-css3-color-20110607"><cite>CSS Color 1.1116 + Module Level 3.</cite></a> 7 June 2011. W3C Recommendation. URL: <a 1.1117 + href="http://www.w3.org/TR/2011/REC-css3-color-20110607">http://www.w3.org/TR/2011/REC-css3-color-20110607</a> 1.1118 + </dd> 1.1119 + <!----> 1.1120 + </dl> 1.1121 + <!--end-informative--> 1.1122 + 1.1123 + <h2 class=no-num id=index> Index</h2> 1.1124 + <!--begin-index--> 1.1125 + 1.1126 + <ul class=indexlist> 1.1127 + <li>authoring tool, <a href="#authoring-tool" 1.1128 + title="authoring tool"><strong>6.2.</strong></a> 1.1129 + 1.1130 + <li>available, <a href="#available-size" 1.1131 + title=available><strong>2.</strong></a> 1.1132 + 1.1133 + <li>available extent, <a href="#available-size" 1.1134 + title="available extent"><strong>2.</strong></a> 1.1135 + 1.1136 + <li>available measure, <a href="#available-size" 1.1137 + title="available measure"><strong>2.</strong></a> 1.1138 + 1.1139 + <li>available size, <a href="#available-size" 1.1140 + title="available size"><strong>2.</strong></a> 1.1141 + 1.1142 + <li>‘<a href="#contain-floats"><code 1.1143 + class=css>contain-floats</code></a>’, <a href="#contain-floats" 1.1144 + title="''contain-floats''"><strong>3.2.</strong></a> 1.1145 + 1.1146 + <li>definite, <a href="#definite-size" 1.1147 + title=definite><strong>2.</strong></a> 1.1148 + 1.1149 + <li>definite size, <a href="#definite-size" 1.1150 + title="definite size"><strong>2.</strong></a> 1.1151 + 1.1152 + <li>Extrinsic sizing, <a href="#extrinsic-sizing0" 1.1153 + title="Extrinsic sizing"><strong>5.</strong></a> 1.1154 + 1.1155 + <li>fallback, <a href="#fallback-size" 1.1156 + title=fallback><strong>2.</strong></a> 1.1157 + 1.1158 + <li>fallback size, <a href="#fallback-size" 1.1159 + title="fallback size"><strong>2.</strong></a> 1.1160 + 1.1161 + <li>‘<a href="#fill-available"><code 1.1162 + class=css>fill-available</code></a>’, <a href="#fill-available" 1.1163 + title="''fill-available''"><strong>3.1.</strong></a> 1.1164 + 1.1165 + <li>fill-available extent, <a href="#fill-available-extent" 1.1166 + title="fill-available extent"><strong>2.</strong></a> 1.1167 + 1.1168 + <li>fill-available measure, <a href="#fill-available-measure" 1.1169 + title="fill-available measure"><strong>2.</strong></a> 1.1170 + 1.1171 + <li>‘<a href="#fit-content"><code class=css>fit-content</code></a>’, 1.1172 + <a href="#fit-content" title="''fit-content''"><strong>3.1.</strong></a> 1.1173 + 1.1174 + <li>fit-content extent, <a href="#fit-content-extent" 1.1175 + title="fit-content extent"><strong>2.</strong></a> 1.1176 + 1.1177 + <li>fit-content measure, <a href="#fit-content-measure" 1.1178 + title="fit-content measure"><strong>2.</strong></a> 1.1179 + 1.1180 + <li>indefinite, <a href="#indefinite-size" 1.1181 + title=indefinite><strong>2.</strong></a> 1.1182 + 1.1183 + <li>indefinite size, <a href="#indefinite-size" 1.1184 + title="indefinite size"><strong>2.</strong></a> 1.1185 + 1.1186 + <li>Intrinsic sizing, <a href="#intrinsic-sizing0" 1.1187 + title="Intrinsic sizing"><strong>4.</strong></a> 1.1188 + 1.1189 + <li>‘<a href="#max-content"><code class=css>max-content</code></a>’, 1.1190 + <a href="#max-content" title="''max-content''"><strong>3.1.</strong></a> 1.1191 + 1.1192 + <li>max-content extent, <a href="#max-content-extent" 1.1193 + title="max-content extent"><strong>2.</strong></a> 1.1194 + 1.1195 + <li>max-content measure, <a href="#max-content-measure" 1.1196 + title="max-content measure"><strong>2.</strong></a> 1.1197 + 1.1198 + <li>max-size constraint, <a href="#max-size-constraint" 1.1199 + title="max-size constraint"><strong>2.</strong></a> 1.1200 + 1.1201 + <li>max-size contribution, <a href="#max-size-contribution" 1.1202 + title="max-size contribution"><strong>2.</strong></a> 1.1203 + 1.1204 + <li>‘<a href="#min-content"><code class=css>min-content</code></a>’, 1.1205 + <a href="#min-content" title="''min-content''"><strong>3.1.</strong></a> 1.1206 + 1.1207 + <li>min-content extent, <a href="#min-content-extent" 1.1208 + title="min-content extent"><strong>2.</strong></a> 1.1209 + 1.1210 + <li>min-content measure, <a href="#min-content-measure" 1.1211 + title="min-content measure"><strong>2.</strong></a> 1.1212 + 1.1213 + <li>min-size constraint, <a href="#min-size-constraint" 1.1214 + title="min-size constraint"><strong>2.</strong></a> 1.1215 + 1.1216 + <li>min-size contribution, <a href="#min-size-contribution" 1.1217 + title="min-size contribution"><strong>2.</strong></a> 1.1218 + 1.1219 + <li>renderer, <a href="#renderer" title=renderer><strong>6.2.</strong></a> 1.1220 + 1.1221 + 1.1222 + <li>size, <a href="#size" title=size><strong>2.</strong></a> 1.1223 + 1.1224 + <li>style sheet 1.1225 + <ul> 1.1226 + <li>as conformance class, <a href="#style-sheet" 1.1227 + title="style sheet, as conformance class"><strong>6.2.</strong></a> 1.1228 + </ul> 1.1229 + </ul> 1.1230 + <!--end-index--> 1.1231 + 1.1232 + <h2 class=no-num id=property-index> Property index</h2> 1.1233 + <!--begin-properties--> 1.1234 + 1.1235 + <table class=proptable> 1.1236 + <thead> 1.1237 + <tr> 1.1238 + <th>Property 1.1239 + 1.1240 + <th>Values 1.1241 + 1.1242 + <th>Initial 1.1243 + 1.1244 + <th>Applies to 1.1245 + 1.1246 + <th>Inh. 1.1247 + 1.1248 + <th>Percentages 1.1249 + 1.1250 + <th>Media 1.1251 + 1.1252 + <tbody> 1.1253 + <tr> 1.1254 + <th><span class=property>‘column-width’</span> 1.1255 + 1.1256 + <td>‘min-content’ | ‘max-content’ | ‘fill-available’ | 1.1257 + ‘fit-content’ 1.1258 + 1.1259 + <td>as defined in [CSS3COL] 1.1260 + 1.1261 + <td>as defined in [CSS3COL] 1.1262 + 1.1263 + <td>as defined in [CSS3COL] 1.1264 + 1.1265 + <td>as defined in [CSS3COL] 1.1266 + 1.1267 + <td>as defined in [CSS3COL] 1.1268 + 1.1269 + <tr> 1.1270 + <th><span class=property>‘min-width’</span>, <span 1.1271 + class=property>‘min-height’</span> 1.1272 + 1.1273 + <td>‘contain-floats’ 1.1274 + 1.1275 + <td>as defined in [CSS21] and [CSS3-FLEXBOX] 1.1276 + 1.1277 + <td>as defined in [CSS21] 1.1278 + 1.1279 + <td>as defined in [CSS21] 1.1280 + 1.1281 + <td>as defined in [CSS21] 1.1282 + 1.1283 + <td>as defined in [CSS21] 1.1284 + 1.1285 + <tr> 1.1286 + <th><span class=property>‘width’</span>, <span 1.1287 + class=property>‘min-width’</span>, <span 1.1288 + class=property>‘max-width’</span>, <span 1.1289 + class=property>‘height’</span>, <span 1.1290 + class=property>‘min-height’</span>, <span 1.1291 + class=property>‘max-height’</span> 1.1292 + 1.1293 + <td>‘fill-available’ | ‘max-content’ | ‘min-content’ | 1.1294 + ‘fit-content’ 1.1295 + 1.1296 + <td>as defined in [CSS21] and [CSS3-FLEXBOX] 1.1297 + 1.1298 + <td>as defined in [CSS21] 1.1299 + 1.1300 + <td>as defined in [CSS21] 1.1301 + 1.1302 + <td>as defined in [CSS21] 1.1303 + 1.1304 + <td>as defined in [CSS21] 1.1305 + </table> 1.1306 + <!--end-properties--> 1.1307 +</html> 1.1308 +<!-- Keep this comment at the end of the file 1.1309 +Local variables: 1.1310 +mode: sgml 1.1311 +sgml-declaration:"~/SGML/HTML4.decl" 1.1312 +sgml-default-doctype-name:"html" 1.1313 +sgml-minimize-attributes:t 1.1314 +sgml-nofill-elements:("pre" "style" "br") 1.1315 +sgml-live-element-indicator:t 1.1316 +sgml-omittag:nil 1.1317 +sgml-shorttag:nil 1.1318 +sgml-namecase-general:t 1.1319 +sgml-general-insert-case:lower 1.1320 +sgml-always-quote-attributes:t 1.1321 +sgml-indent-step:nil 1.1322 +sgml-indent-data:t 1.1323 +sgml-parent-document:nil 1.1324 +sgml-exposed-tags:nil 1.1325 +sgml-local-catalogs:nil 1.1326 +sgml-local-ecat-files:nil 1.1327 +End: 1.1328 +-->
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/css3-sizing/Overview.src.html Tue Jul 31 17:51:53 2012 -0700 2.3 @@ -0,0 +1,838 @@ 2.4 +<!DOCTYPE html> 2.5 +<html lang="en"> 2.6 +<head> 2.7 + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 2.8 + <title>CSS Intrinsic & Extrinsic Sizing Module Level 3 (CSS3 TMPL)</title> 2.9 + <link rel=contents href="#contents"> 2.10 + <link rel=index href="#index"> 2.11 + <link rel="stylesheet" type="text/css" href="../default.css"> 2.12 + <link rel="stylesheet" type="text/css" 2.13 + href="http://www.w3.org/StyleSheets/TR/W3C-[STATUS].css"> 2.14 + <style type="text/css"> 2.15 + /* delete this block when you've cleared out all the .replaceme elements */ 2.16 + .replaceme { 2.17 + border: solid red; 2.18 + padding: 0 0.5em; 2.19 + margin: 0 0.1em; 2.20 + background: yellow; 2.21 + color: green; 2.22 + } 2.23 + .replaceme:before { 2.24 + content: "FIXME("; 2.25 + color: black; 2.26 + } 2.27 + .replaceme:after { 2.28 + content: ")"; 2.29 + color: black; 2.30 + } 2.31 + </style> 2.32 +</head> 2.33 + 2.34 +<div class="head"> 2.35 +<!--logo--> 2.36 + 2.37 +<h1>CSS Intrinsic & Extrinsic Sizing Module Level 3</h1> 2.38 + 2.39 +<h2 class="no-num no-toc">[LONGSTATUS] [DATE]</h2> 2.40 +<dl> 2.41 +<!-- 2.42 + <dt>This version: 2.43 + <dd><a href="[VERSION]" class="replaceme">http://www.w3.org/TR/[YEAR]/ED-css3-sizing-[CDATE]/</a> 2.44 +--> 2.45 + <dt>Latest version: 2.46 + <dd><a href="http://dev.w3.org/csswg/css3-sizing/">http://dev.w3.org/csswg/css3-sizing/</a> 2.47 + 2.48 + <dt>Editor's draft: 2.49 + <dd><a href="http://dev.w3.org/csswg/[SHORTNAME]/">http://dev.w3.org/csswg/[SHORTNAME]/</a> 2.50 + 2.51 + <dt>Issue Tracking:</dt> 2.52 + <dd><a href="https://www.w3.org/Bugs/Public/buglist.cgi?product=CSS&component=Sizing&resolution=---">W3C Bugzilla</a> 2.53 + 2.54 + <dt>Feedback:</dt> 2.55 + <dd><a href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org</a> with subject line “<kbd>[[SHORTNAME]] <var>… message topic …</var></kbd>” 2.56 + 2.57 + <dt>Editors: 2.58 + <dd class="h-card vcard"> 2.59 + <a class="p-name fn u-url url" rel="author" 2.60 + href="[editor1 personal URL (opt.)]">[editor1 name]</a>, 2.61 + <span class="p-org org">[affiliation (opt.)]</span>, 2.62 + <span class="u-email email">[email address (opt.)]</span> 2.63 + <dd class="h-card vcard"> 2.64 + <span class="p-name fn">[editor2 name]</span>, 2.65 + <span class="p-org org">[affiliation (opt.)]</span>, 2.66 + <span class="u-email email">[email address (opt.)]</span> 2.67 +</dl> 2.68 + 2.69 +<!--copyright--> 2.70 + 2.71 +<hr title="Separator for header"> 2.72 +</div> 2.73 + 2.74 +<h2 class="no-num no-toc" id="abstract">Abstract</h2> 2.75 + 2.76 + <p>This module contains the features of CSS relating to 2.77 + <var class="replaceme">DESCRIBE HERE</var>. 2.78 + <a href="http://www.w3.org/TR/CSS/">CSS</a> is a language for describing 2.79 + the rendering of structured documents (such as HTML and XML) on screen, on 2.80 + paper, in speech, etc. 2.81 + 2.82 +<h2 class="no-num no-toc" id="status">Status of this document</h2> 2.83 + 2.84 +<!--status--> 2.85 + 2.86 +<p>The following features are at risk: … 2.87 + 2.88 +<h2 class="no-num no-toc" id="contents"> 2.89 +Table of contents</h2> 2.90 + 2.91 +<!--toc--> 2.92 + 2.93 +<h2 id="intro"> 2.94 +Introduction</h2> 2.95 + 2.96 + <p><em>This section is not normative.</em> 2.97 + 2.98 + 2.99 + <p> 2.100 + CSS layout has several different concepts of automatic sizing that are used in various layout calculations. 2.101 + This section defines some more precise terminology 2.102 + to help connect the layout behaviors of this spec to the calculations used in other modules, 2.103 + and some new keywords for the 'width' and 'height' properties 2.104 + to allow authors to assign elements the dimensions resulting from these size calculations. 2.105 + 2.106 +<h3 id="placement"> 2.107 +Module interactions</h3> 2.108 + 2.109 + <p class="replaceme">Explain, normatively, how this module affects the definition of CSS.</p> 2.110 + 2.111 + <p>This module replaces and extends the <var class="replaceme">SUMMARIZE HERE</var> 2.112 + features defined in [[!CSS21]] sections <var class="replaceme">W.X and Y.Z</var>. 2.113 + 2.114 + <p class="replaceme">All properties in this module apply to the <code>::first-line</code> and 2.115 + <code>::first-letter</code> pseudo-elements. 2.116 + <!-- HANDLE, THEN REMOVE THIS COMMENT 2.117 + Properties that affect box layout should be excluded from ::first-line. 2.118 + Properties that take things out-of-flow or alter box construction should 2.119 + be excluded from both ::first-line and ::first-letter. (A special exception 2.120 + is made for float on ::first-letter, which is defined to emulate drop-caps.) 2.121 + Examples of ::first-line / ::first-letter statements: 2.122 + http://dev.w3.org/csswg/css3-background/#placement 2.123 + (All properties apply to ::first-letter; some apply to ::first-line) 2.124 + --> 2.125 + 2.126 +<h3 id="values"> 2.127 +Values</h3> 2.128 + 2.129 + <p>This specification follows the 2.130 + <a href="http://www.w3.org/TR/CSS21/about.html#property-defs">CSS property 2.131 + definition conventions</a> from [[!CSS21]]. Value types not defined in 2.132 + this specification are defined in CSS Level 2 Revision 1 [[!CSS21]]. 2.133 + Other CSS modules may expand the definitions of these value types: for 2.134 + example [[CSS3COLOR]], when combined with this module, expands the 2.135 + definition of the <color> value type as used in this specification.</p> 2.136 + 2.137 + <p>In addition to the property-specific values listed in their definitions, 2.138 + all properties defined in this specification also accept the 2.139 + <a href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">inherit</a> 2.140 + keyword as their property value. For readability it has not been repeated 2.141 + explicitly. 2.142 + 2.143 +<h2 id="terms"> 2.144 +Terminology</h2> 2.145 + 2.146 + <dl> 2.147 + <dt><dfn>size</dfn> 2.148 + <dd> 2.149 + A one- or two-dimensional measurement: 2.150 + a <a href="http://www.w3.org/TR/css3-writing-modes/#measure"><i>measure</i></a> 2.151 + and/or <a href="http://www.w3.org/TR/css3-writing-modes/#extent"><i>extent</i></a>; 2.152 + alternatively a width and/or height. 2.153 + 2.154 + <dt><dfn title="definite|definite size">definite size</dfn> 2.155 + <dd> 2.156 + A size that can be determined without measuring content; 2.157 + that is, a <var><length></var>, 2.158 + a size of the <i>initial containing block</i>, 2.159 + or a <var><percentage></var> that is resolved against a <i>definite</i> size. 2.160 + 2.161 + <dt><dfn title="indefinite|indefinite size">indefinite size</dfn> 2.162 + <dd> 2.163 + A size that is not <i>definite</i>. 2.164 + An <i>indefinite</i> <i>available size</i> is essentially infinite. 2.165 + 2.166 + <dt><dfn title="available|available size|available measure|available extent">available size</dfn> 2.167 + <dd> 2.168 + The space into which a box is laid out, 2.169 + typically either a measurement of its <i>containing block</i> 2.170 + or an infinite size. 2.171 + 2.172 + <dt><dfn title="fallback|fallback size">fallback size</dfn> 2.173 + <dd> 2.174 + Some sizing algorithms do not work well with an infinite size. 2.175 + In these cases, the fallback size is used instead. 2.176 + Unless otherwise specified, 2.177 + this is the size of the initial containing block. 2.178 + 2.179 + <dt><dfn>fill-available measure</dfn> 2.180 + <dd> 2.181 + Roughly, the measure a box would take 2.182 + if it filled its <i>available measure</i>. 2.183 + The exact definition is given in XXX. 2.184 + 2.185 + <p class='note'> 2.186 + Note: This is called the <i>available width</i> in <a href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 2.187 + and computed by the rules in <a href="http://www.w3.org/TR/CSS21/visudet.html#blockwidth">CSS2.1§10.3.3</a>. 2.188 + 2.189 + <dt><dfn>max-content measure</dfn> 2.190 + <dd> 2.191 + Roughly, the narrowest measure a box could take while fitting around its contents 2.192 + if <em>none</em> of the optional soft wrap opportunities within the box were taken. 2.193 + The exact definition is given in XXX. 2.194 + 2.195 + <p class='note'> 2.196 + Note: This is called the <i>preferred width</i> in <a href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 2.197 + and the <i>maximum cell width</i> in <a href="http://www.w3.org/TR/CSS21/tables.html#auto-table-layout">CSS2.1§17.5.2.2</a>. 2.198 + 2.199 + <dt><dfn>min-content measure</dfn> 2.200 + <dd> 2.201 + Roughly, the narrowest measure a box could take 2.202 + while fitting around its contents 2.203 + if <em>all</em> soft wrap opportunities within the box were taken. 2.204 + The exact definition is given in XXX. 2.205 + 2.206 + <p class='note'> 2.207 + Note: This is called the <i>preferred minimum width</i> in <a href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 2.208 + and the <i>minimum content width</i> in <a href="http://www.w3.org/TR/CSS21/tables.html#auto-table-layout">CSS2.1§17.5.2.2</a>. 2.209 + 2.210 + <dt><dfn>fit-content measure</dfn> 2.211 + <dd> 2.212 + If the <i>available</i> measure is finite, 2.213 + equal to <code>min(<i>max-content</i>, max(<i>min-content</i>, <i>fill-available</i>))</code>. 2.214 + Otherwise, equal to the <i>max-content measure</i>. 2.215 + 2.216 + <p class='note'> 2.217 + Note: This is called the <i>shrink-to-fit</i> width in <a href="http://www.w3.org/TR/CSS21/visudet.html#float-width">CSS2.1§10.3.5</a> 2.218 + and <a href="http://www.w3.org/TR/css3-multicol/#pseudo-algorithm">CSS Multi-column Layout § 3.4</a>. 2.219 + 2.220 + <dt><dfn>fill-available extent</dfn> 2.221 + <dd> 2.222 + Roughly, the extent a box would take 2.223 + if it filled its <i>available extent</i>. 2.224 + The exact definition is given in XXX. 2.225 + 2.226 + <dt><dfn>max-content extent</dfn> 2.227 + <dd> 2.228 + Roughly, the extent of the content after layout. 2.229 + 2.230 + <dt><dfn>min-content extent</dfn> 2.231 + <dd> 2.232 + Equivalent to the <i>max-content extent</i>. 2.233 + 2.234 + <dt><dfn>fit-content extent</dfn> 2.235 + <dd> 2.236 + Analogous to the <i>fit-content measure</i>. 2.237 + 2.238 + <dt><dfn>max-size contribution</dfn> 2.239 + <dd> 2.240 + The size that a box contributes to its containing block's <i>max-content size</i>. 2.241 + 2.242 + <dt><dfn>min-size contribution</dfn> 2.243 + <dd> 2.244 + The size that a box contributes to its containing block's <i>min-content size</i>. 2.245 + 2.246 + <dt><dfn>max-size constraint</dfn> 2.247 + <dd> 2.248 + A sizing constraint imposed by the box's containing block 2.249 + that causes it to produce its <i>max-size contribution</i>. 2.250 + 2.251 + <dt><dfn>min-size constraint</dfn> 2.252 + <dd> 2.253 + A sizing constraint imposed by the box's containing block 2.254 + that causes it to produce its <i>min-size contribution</i>. 2.255 + </dl> 2.256 + 2.257 +<h2 id='size-keywords'> 2.258 +New Sizing Keywords</h2> 2.259 + 2.260 +<h3 id='width-height-keywords'> 2.261 +New Keywords for 'width' and 'height'</h3> 2.262 + 2.263 + <table class="propdef"> 2.264 + <tr> 2.265 + <th>Properties: 2.266 + <td>'width', 'min-width', 'max-width', 'height', 'min-height', 'max-height' 2.267 + <tr> 2.268 + <th>New Values: 2.269 + <td>''fill-available'' | ''max-content'' | ''min-content'' | ''fit-content'' 2.270 + <tr> 2.271 + <th>Initial: 2.272 + <td>as defined in [[!CSS21]] and [[!CSS3-FLEXBOX]] 2.273 + <tr> 2.274 + <th>Applies to: 2.275 + <td>as defined in [[!CSS21]] 2.276 + <tr> 2.277 + <th>Inherited: 2.278 + <td>as defined in [[!CSS21]] 2.279 + <tr> 2.280 + <th>Percentages: 2.281 + <td>as defined in [[!CSS21]] 2.282 + <tr> 2.283 + <th>Media: 2.284 + <td>as defined in [[!CSS21]] 2.285 + <tr> 2.286 + <th>Computed value: 2.287 + <td>specified value if keyword specified, else as defined in [[!CSS21]] 2.288 + </table> 2.289 + 2.290 + <p>There are four types of automatically-determined sizes in CSS (which 2.291 + are represented in the width and height properties by the keywords 2.292 + defined above): 2.293 + 2.294 + <dl> 2.295 + <dt><dfn>''fill-available''</dfn> 2.296 + <dd> 2.297 + Use the <i>fill-available measure</i> or <i>fill-available extent</i>, 2.298 + as appropriate to the writing mode. 2.299 + 2.300 + <dt><dfn>''max-content''</dfn> 2.301 + <dd> 2.302 + Use the <i>max-content measure</i> or <i>max-content extent</i>, 2.303 + as appropriate to the writing mode. 2.304 + 2.305 + <dt><dfn>''min-content''</dfn> 2.306 + <dd> 2.307 + Use the <i>min-content measure</i> or <i>min-content extent</i>, 2.308 + as appropriate to the writing mode. 2.309 + 2.310 + <dt><dfn>''fit-content''</dfn> 2.311 + <dd> 2.312 + Use the <i>fit-content measure</i> or <i>fit-content extent</i>, 2.313 + as appropriate to the writing mode. 2.314 + </dl> 2.315 + 2.316 +<h3 id='the-contain-floats-value'> 2.317 +Containing Floats</h3> 2.318 + 2.319 + <table class="propdef"> 2.320 + <tr> 2.321 + <th>Properties: 2.322 + <td>'min-width', 'min-height' 2.323 + <tr> 2.324 + <th>New Value: 2.325 + <td>''contain-floats'' 2.326 + <tr> 2.327 + <th>Initial: 2.328 + <td>as defined in [[!CSS21]] and [[!CSS3-FLEXBOX]] 2.329 + <tr> 2.330 + <th>Applies to: 2.331 + <td>as defined in [[!CSS21]] 2.332 + <tr> 2.333 + <th>Inherited: 2.334 + <td>as defined in [[!CSS21]] 2.335 + <tr> 2.336 + <th>Percentages: 2.337 + <td>as defined in [[!CSS21]] 2.338 + <tr> 2.339 + <th>Media: 2.340 + <td>as defined in [[!CSS21]] 2.341 + <tr> 2.342 + <th>Computed value: 2.343 + <td>specified value if keyword specified, else as defined in [[!CSS21]] 2.344 + </table> 2.345 + 2.346 + <dl> 2.347 + <dt><dfn>''contain-floats''</dfn> 2.348 + <dd> 2.349 + Equivalent to ''min-content'' 2.350 + except that when applied to the extent of a block box 2.351 + it forces the inner extent to be large enough to contain 2.352 + the margin boxes of any floats that originate inside the block 2.353 + and that participate in the same block formatting context as the block's immediate contents. 2.354 + </dl> 2.355 + 2.356 +<h3 id='column-sizing'> 2.357 +Column Sizing Keywords</h3> 2.358 + 2.359 + <table class="propdef"> 2.360 + <tbody> 2.361 + <tr> 2.362 + <th>Property: 2.363 + <td>'column-width' 2.364 + </tr> 2.365 + <tr> 2.366 + <th>New Values: 2.367 + <td>''min-content'' | ''max-content'' | ''fill-available'' | ''fit-content'' 2.368 + </tr> 2.369 + <tr> 2.370 + <th>Initial: 2.371 + <td>as defined in [[!CSS3COL]] 2.372 + </tr> 2.373 + <tr> 2.374 + <th>Applies to: 2.375 + <td>as defined in [[!CSS3COL]] 2.376 + </tr> 2.377 + <tr> 2.378 + <th>Inherited: 2.379 + <td>as defined in [[!CSS3COL]] 2.380 + </tr> 2.381 + <tr> 2.382 + <th>Percentages: 2.383 + <td>as defined in [[!CSS3COL]] 2.384 + </tr> 2.385 + <tr> 2.386 + <th>Media: 2.387 + <td>as defined in [[!CSS3COL]] 2.388 + </tr> 2.389 + <tr> 2.390 + <th>Computed value: 2.391 + <td>specified value if keyword specified, else as defined in [[!CSS3COL]] 2.392 + </tr> 2.393 + </tbody> 2.394 + </table> 2.395 + 2.396 + <p>When used as values for <a href="http://www.w3.org/TR/css3-multicol/#cw">'column-width'</a>, 2.397 + the new keywords specify the optimal column width: 2.398 + 2.399 + <dl> 2.400 + <dt>''min-content'' 2.401 + <dd>Specifies the optimal column width as the <i>min-content measure</i> 2.402 + of the multi-column element's contents. 2.403 + 2.404 + <dt>''max-content'' 2.405 + <dd>Specifies the optimal column width as the <i>max-content measure</i> 2.406 + of the multi-column element's contents. 2.407 + 2.408 + <dt>''fill-available'' 2.409 + <dd>Specifies the optimal column width as the <i>fill-available measure</i> 2.410 + of the multi-column element. 2.411 + 2.412 + <dt>''fit-content'' 2.413 + <dd>Specifies the optimal column width as 2.414 + <code>min(<i>max-content</i>, max(<i>min-content</i>, <i>fill-available</i>))</code>. 2.415 + </dl> 2.416 + 2.417 + 2.418 +<h2 id='intrinsic-sizing'> 2.419 +Intrinsic Sizing Determination</h2> 2.420 + 2.421 + <p> 2.422 + <dfn>Intrinsic sizing</dfn> determines sizes based on the contents of an element, 2.423 + without regard for its context. 2.424 + 2.425 + 2.426 +<h3 id='replaced-intrinsic'> 2.427 +Intrinsic Sizes of Replaced Elements</h3> 2.428 + 2.429 + <p> 2.430 + For replaced elements, 2.431 + the <i>min-content</i> and <i>max-content</i> sizes are equivalent 2.432 + and correspond to the used size of the replaced element 2.433 + according to the ''auto'' size calculation in the corresponding dimension. 2.434 + (See [[!CSS3-IMAGES]].) 2.435 + 2.436 +<h3 id='inline-intrinsic'> 2.437 +Intrinsic Sizes of Non-Replaced Inlines</h3> 2.438 + 2.439 + <p> 2.440 + The <i>min-content measure</i> of an inline box 2.441 + is the length of the largest unbreakable sequence of inline content. 2.442 + The <i>min-measure contribution</i> of an inline box 2.443 + is its <i>min-content measure</i>, 2.444 + plus any inline-axis margin, border, and padding 2.445 + adjacent to that sequence. 2.446 + 2.447 + <p> 2.448 + The <i>max-content measure</i> of an inline box 2.449 + is the length of the largest sequence of inline content 2.450 + on a single line 2.451 + when only forced line breaks are taken. 2.452 + The <i>max-measure contribution</i> of an inline box 2.453 + is its <i>max-content measure</i>, 2.454 + plus any inline-axis margin, border, and padding 2.455 + adjacent to that sequence. 2.456 + 2.457 + <p> 2.458 + The <i>min-content extent</i>, <i>max-content extent</i>, <i>min-extent contribution</i>, and <i>max-content contribution</i> of an inline box 2.459 + are the distance from the head edge of the first line box 2.460 + to the foot edge of the last line box 2.461 + on which the inline appears. 2.462 + 2.463 +<h3 id='block-intrinsic'> 2.464 +Intrinsic Sizes of Non-Replaced Blocks</h3> 2.465 + 2.466 + <p> 2.467 + The <i>min-content measure</i> of a block box 2.468 + is the largest <i>min-measure contribution</i> 2.469 + of its in-flow or floated children. 2.470 + 2.471 + <p> 2.472 + The <i>max-content measure</i> of a block box 2.473 + is the measure of the box after layout, 2.474 + if all children are sized under a <i>max-size constraint</i>. 2.475 + <p> 2.476 + If the computed measure of a block box is ''min-content'', ''max-content'', or a <i>definite size</i>, 2.477 + its <i>min-measure contribution</i> 2.478 + is that size 2.479 + plus any inline-axis margin, border, and padding. 2.480 + Otherwise, if the computed measure of the block is ''fit-content'', ''auto'', or ''fill-available'', 2.481 + its <i>min-measure contribution</i> 2.482 + is its <i>min-content measure</i> 2.483 + plus any inline-axis margin, border, and padding. 2.484 + 2.485 + <p> 2.486 + If the computed measure of a block box is ''min-content'', ''max-content'', or a <i>definite size</i>, 2.487 + its <i>max-measure contribution</i> 2.488 + is that size 2.489 + plus any inline-axis margin, border, and padding. 2.490 + Otherwise, if the computed measure of the block is ''fit-content'', ''auto'', or ''fill-available'', 2.491 + its <i>max-measure contribution</i> 2.492 + is its <i>max-content measure</i> 2.493 + plus any inline-axis margin, border, and padding. 2.494 + 2.495 + <p> 2.496 + The <i>min-content extent</i> and <i>max-content extent</i> of a block box 2.497 + is the content extent as defined 2.498 + (for horizontal writing modes) 2.499 + in <a href="http://www.w3.org/TR/CSS21/visudet.html#normal-block">CSS2.1§10.6.3</a> 2.500 + and <a href="http://www.w3.org/TR/CSS21/tables.html#height-layout">CSS2.1§17.5.3</a> 2.501 + for elements with ''height: auto'', 2.502 + and analogously for vertical writing modes. 2.503 + 2.504 + <p> 2.505 + The <i>min-extent contribution</i> and <i>max-extent contribution</i> of a block box 2.506 + is the extent of the block after layout, 2.507 + plus any block-axis margin, border, and padding. 2.508 + 2.509 + 2.510 +<h3 id='table-intrinsic'> 2.511 +Intrinsic Sizes in Table Layout</h3> 2.512 + 2.513 + <p class='issue'> 2.514 + ??? 2.515 + 2.516 + 2.517 + 2.518 +<h3 id="multicol-intrinsic"> 2.519 +Intrinsic Sizes in Multi-column Layout</h3> 2.520 + 2.521 + <p class='issue'> 2.522 + See 2.523 + http://lists.w3.org/Archives/Public/www-style/2011Apr/0316.html 2.524 + http://lists.w3.org/Archives/Public/www-style/2011May/0468.html 2.525 + 2.526 + <p class="issue">This section is under discussion and may be removed</p> 2.527 + 2.528 + <dl> 2.529 + <dt>min-content</dt> 2.530 + <dd>The <i>min-content</i> measure of the multi-column element is 2.531 + the <i>min-content</i> measure of the multi-column element's 2.532 + contents. 2.533 + <dt>max-content</dt> 2.534 + </dl> 2.535 + 2.536 + <p>For multi-column elements laid out with infinite available measure (see 2.537 + <a href="#orthogonal-multicol">Multi-column Layout in Orthogonal Flows</a>), 2.538 + the <i>min-content</i> extent is the extent that would result 2.539 + from taking every permissible pagination break as a column break, and the 2.540 + <i>max-content</i> extent is the extent that would result from taking 2.541 + only the forced breaks. For all other multi-column elements it is, like 2.542 + CSS2.1 block-level boxes, the extent that would be calculated for an 2.543 + ''auto'' extent per [[CSS3MULTICOL]]. 2.544 + 2.545 +<pre> 2.546 +NOTES FROM ROSSEN: 2.547 + min-content measure is min(column-width, min-content) 2.548 + max-content measure is 2.549 + 1. Pass w/ colspans displ: none; 2.550 + Get width 2.551 + 2. Pass with colspans only in width 2.552 + Get remaining height 2.553 + 3. Pass w/ spans again using remaining height 2.554 + Get width 2.555 + 4. Layout in width as final 2.556 + Will lay out perfectly without colspans; will have some slack but no 2.557 + overflow when colspans present. 2.558 +</pre> 2.559 + 2.560 + 2.561 +<h2 id='extrinsic-sizing'> 2.562 +Extrinsic Sizing</h2> 2.563 + 2.564 + <p> 2.565 + <dfn>Extrinsic sizing</dfn> determines sizes based on the context of an element, 2.566 + without regard for its contents. 2.567 + 2.568 + <p> 2.569 + The inner <i>fill-available measure</i> of a box 2.570 + is the larger of… 2.571 + 2.572 + <ul> 2.573 + <li> 2.574 + Its containing block's computed 'min-measure' if that measure is <i>definite</i>, 2.575 + or zero otherwise. 2.576 + 2.577 + <li> 2.578 + The smaller of: 2.579 + 2.580 + <ul> 2.581 + <li> 2.582 + Its containing block's computed 'max-measure' if that measure is <i>definite</i>, 2.583 + or infinity otherwise. 2.584 + 2.585 + <li> 2.586 + The containing block's computed measure if that is <i>definite</i>, 2.587 + or its inner <i>fill-available measure</i> otherwise. 2.588 + </ul> 2.589 + </ul> 2.590 + 2.591 + …less the box's inline-axis margins, borders, and padding. 2.592 + 2.593 + <p> 2.594 + The <i>fill-available extent</i> of a box is defined analogously, 2.595 + but in the other dimension. 2.596 + 2.597 + 2.598 + 2.599 +<!-- 2.600 + dddddddd 2.601 +TTTTTTTTTTTTTTTTTTTTTTThhhhhhh EEEEEEEEEEEEEEEEEEEEEE d::::::d 2.602 +T:::::::::::::::::::::Th:::::h E::::::::::::::::::::E d::::::d 2.603 +T:::::::::::::::::::::Th:::::h E::::::::::::::::::::E d::::::d 2.604 +T:::::TT:::::::TT:::::Th:::::h EE::::::EEEEEEEEE::::E d:::::d 2.605 +TTTTTT T:::::T TTTTTT h::::h hhhhh eeeeeeeeeeee E:::::E EEEEEEnnnn nnnnnnnn ddddddddd:::::d 2.606 + T:::::T h::::hh:::::hhh ee::::::::::::ee E:::::E n:::nn::::::::nn dd::::::::::::::d 2.607 + T:::::T h::::::::::::::hh e::::::eeeee:::::ee E::::::EEEEEEEEEE n::::::::::::::nn d::::::::::::::::d 2.608 + T:::::T h:::::::hhh::::::h e::::::e e:::::e E:::::::::::::::E nn:::::::::::::::nd:::::::ddddd:::::d 2.609 + T:::::T h::::::h h::::::he:::::::eeeee::::::e E:::::::::::::::E n:::::nnnn:::::nd::::::d d:::::d 2.610 + T:::::T h:::::h h:::::he:::::::::::::::::e E::::::EEEEEEEEEE n::::n n::::nd:::::d d:::::d 2.611 + T:::::T h:::::h h:::::he::::::eeeeeeeeeee E:::::E n::::n n::::nd:::::d d:::::d 2.612 + T:::::T h:::::h h:::::he:::::::e E:::::E EEEEEE n::::n n::::nd:::::d d:::::d 2.613 + TT:::::::TT h:::::h h:::::he::::::::e EE::::::EEEEEEEE:::::E n::::n n::::nd::::::ddddd::::::dd 2.614 + T:::::::::T h:::::h h:::::h e::::::::eeeeeeee E::::::::::::::::::::E n::::n n::::n d:::::::::::::::::d 2.615 + T:::::::::T h:::::h h:::::h ee:::::::::::::e E::::::::::::::::::::E n::::n n::::n d:::::::::ddd::::d 2.616 + TTTTTTTTTTT hhhhhhh hhhhhhh eeeeeeeeeeeeee EEEEEEEEEEEEEEEEEEEEEE nnnnnn nnnnnn ddddddddd ddddd 2.617 +--> 2.618 + 2.619 + 2.620 +<h2 id="conformance"> 2.621 +Conformance</h2> 2.622 + 2.623 +<h3 id="conventions"> 2.624 +Document conventions</h3> 2.625 + 2.626 + <p>Conformance requirements are expressed with a combination of 2.627 + descriptive assertions and RFC 2119 terminology. The key words “MUST”, 2.628 + “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, 2.629 + “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this 2.630 + document are to be interpreted as described in RFC 2119. 2.631 + However, for readability, these words do not appear in all uppercase 2.632 + letters in this specification. 2.633 + 2.634 + <p>All of the text of this specification is normative except sections 2.635 + explicitly marked as non-normative, examples, and notes. [[!RFC2119]]</p> 2.636 + 2.637 + <p>Examples in this specification are introduced with the words “for example” 2.638 + or are set apart from the normative text with <code>class="example"</code>, 2.639 + like this: 2.640 + 2.641 + <div class="example"> 2.642 + <p>This is an example of an informative example.</p> 2.643 + </div> 2.644 + 2.645 + <p>Informative notes begin with the word “Note” and are set apart from the 2.646 + normative text with <code>class="note"</code>, like this: 2.647 + 2.648 + <p class="note">Note, this is an informative note.</p> 2.649 + 2.650 +<h3 id="conformance-classes"> 2.651 +Conformance classes</h3> 2.652 + 2.653 + <p>Conformance to <var class="replaceme">CSS Intrinsic Sizing Module</var> 2.654 + is defined for three conformance classes: 2.655 + <dl> 2.656 + <dt><dfn title="style sheet!!as conformance class">style sheet</dfn> 2.657 + <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#style-sheet">CSS 2.658 + style sheet</a>. 2.659 + <dt><dfn>renderer</dfn></dt> 2.660 + <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a> 2.661 + that interprets the semantics of a style sheet and renders 2.662 + documents that use them. 2.663 + <dt><dfn id="authoring-tool">authoring tool</dfn></dt> 2.664 + <dd>A <a href="http://www.w3.org/TR/CSS21/conform.html#user-agent">UA</a> 2.665 + that writes a style sheet. 2.666 + </dl> 2.667 + 2.668 + <p>A style sheet is conformant to <var class="replaceme">CSS Intrinsic Sizing Module</var> 2.669 + if all of its statements that use syntax defined in this module are valid 2.670 + according to the generic CSS grammar and the individual grammars of each 2.671 + feature defined in this module. 2.672 + 2.673 + <p>A renderer is conformant to <var class="replaceme">CSS Intrinsic Sizing Module</var> 2.674 + if, in addition to interpreting the style sheet as defined by the 2.675 + appropriate specifications, it supports all the features defined 2.676 + by <var class="replaceme">CSS Intrinsic Sizing Module</var> by parsing them correctly 2.677 + and rendering the document accordingly. However, the inability of a 2.678 + UA to correctly render a document due to limitations of the device 2.679 + does not make the UA non-conformant. (For example, a UA is not 2.680 + required to render color on a monochrome monitor.) 2.681 + 2.682 + <p>An authoring tool is conformant to <var class="replaceme">CSS Intrinsic Sizing Module</var> 2.683 + if it writes style sheets that are syntactically correct according to the 2.684 + generic CSS grammar and the individual grammars of each feature in 2.685 + this module, and meet all other conformance requirements of style sheets 2.686 + as described in this module. 2.687 + 2.688 +<h3 id="partial"> 2.689 +Partial implementations</h3> 2.690 + 2.691 + <p>So that authors can exploit the forward-compatible parsing rules to 2.692 + assign fallback values, CSS renderers <strong>must</strong> 2.693 + treat as invalid (and <a href="http://www.w3.org/TR/CSS21/conform.html#ignore">ignore 2.694 + as appropriate</a>) any at-rules, properties, property values, keywords, 2.695 + and other syntactic constructs for which they have no usable level of 2.696 + support. In particular, user agents <strong>must not</strong> selectively 2.697 + ignore unsupported component values and honor supported values in a single 2.698 + multi-value property declaration: if any value is considered invalid 2.699 + (as unsupported values must be), CSS requires that the entire declaration 2.700 + be ignored.</p> 2.701 + 2.702 +<h3 id="experimental"> 2.703 +Experimental implementations</h3> 2.704 + 2.705 + <p>To avoid clashes with future CSS features, the CSS2.1 specification 2.706 + reserves a <a href="http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords">prefixed 2.707 + syntax</a> for proprietary and experimental extensions to CSS. 2.708 + 2.709 + <p>Prior to a specification reaching the Candidate Recommendation stage 2.710 + in the W3C process, all implementations of a CSS feature are considered 2.711 + experimental. The CSS Working Group recommends that implementations 2.712 + use a vendor-prefixed syntax for such features, including those in 2.713 + W3C Working Drafts. This avoids incompatibilities with future changes 2.714 + in the draft. 2.715 + </p> 2.716 + 2.717 +<h3 id="testing"> 2.718 +Non-experimental implementations</h3> 2.719 + 2.720 + <p>Once a specification reaches the Candidate Recommendation stage, 2.721 + non-experimental implementations are possible, and implementors should 2.722 + release an unprefixed implementation of any CR-level feature they 2.723 + can demonstrate to be correctly implemented according to spec. 2.724 + 2.725 + <p>To establish and maintain the interoperability of CSS across 2.726 + implementations, the CSS Working Group requests that non-experimental 2.727 + CSS renderers submit an implementation report (and, if necessary, the 2.728 + testcases used for that implementation report) to the W3C before 2.729 + releasing an unprefixed implementation of any CSS features. Testcases 2.730 + submitted to W3C are subject to review and correction by the CSS 2.731 + Working Group. 2.732 + 2.733 + <p>Further information on submitting testcases and implementation reports 2.734 + can be found from on the CSS Working Group's website at 2.735 + <a href="http://www.w3.org/Style/CSS/Test/">http://www.w3.org/Style/CSS/Test/</a>. 2.736 + Questions should be directed to the 2.737 + <a href="http://lists.w3.org/Archives/Public/public-css-testsuite">public-css-testsuite@w3.org</a> 2.738 + mailing list. 2.739 + 2.740 +<h3 id="cr-exit-criteria"> 2.741 +CR exit criteria</h3> 2.742 + 2.743 + <p class=issue>[Change or remove the following CR exit criteria if 2.744 + the spec is not a module, but, e.g., a Note or a profile. This text was <a 2.745 + href="http://www.w3.org/Style/CSS/Tracker/actions/44"> decided on 2008-06-04.</a>]</p> 2.746 + 2.747 + <p> 2.748 + For this specification to be advanced to Proposed Recommendation, 2.749 + there must be at least two independent, interoperable implementations 2.750 + of each feature. Each feature may be implemented by a different set of 2.751 + products, there is no requirement that all features be implemented by 2.752 + a single product. For the purposes of this criterion, we define the 2.753 + following terms: 2.754 + 2.755 + <dl> 2.756 + <dt>independent <dd>each implementation must be developed by a 2.757 + different party and cannot share, reuse, or derive from code 2.758 + used by another qualifying implementation. Sections of code that 2.759 + have no bearing on the implementation of this specification are 2.760 + exempt from this requirement. 2.761 + 2.762 + <dt>interoperable <dd>passing the respective test case(s) in the 2.763 + official CSS test suite, or, if the implementation is not a Web 2.764 + browser, an equivalent test. Every relevant test in the test 2.765 + suite should have an equivalent test created if such a user 2.766 + agent (UA) is to be used to claim interoperability. In addition 2.767 + if such a UA is to be used to claim interoperability, then there 2.768 + must one or more additional UAs which can also pass those 2.769 + equivalent tests in the same way for the purpose of 2.770 + interoperability. The equivalent tests must be made publicly 2.771 + available for the purposes of peer review. 2.772 + 2.773 + <dt>implementation <dd>a user agent which: 2.774 + 2.775 + <ol class=inline> 2.776 + <li>implements the specification. 2.777 + 2.778 + <li>is available to the general public. The implementation may 2.779 + be a shipping product or other publicly available version 2.780 + (i.e., beta version, preview release, or “nightly build”). 2.781 + Non-shipping product releases must have implemented the 2.782 + feature(s) for a period of at least one month in order to 2.783 + demonstrate stability. 2.784 + 2.785 + <li>is not experimental (i.e., a version specifically designed 2.786 + to pass the test suite and is not intended for normal usage 2.787 + going forward). 2.788 + </ol> 2.789 + </dl> 2.790 + 2.791 + <p>The specification will remain Candidate Recommendation for at least 2.792 + six months. 2.793 + 2.794 +<h2 class=no-num id="acknowledgments"> 2.795 +Acknowledgments</h2> 2.796 + 2.797 + <p><var class="replaceme">[acknowledgments]</var></p> 2.798 + 2.799 +<h2 class=no-num id="references"> 2.800 +References</h2> 2.801 + 2.802 +<h3 class="no-num" id="normative-references"> 2.803 +Normative references</h3> 2.804 +<!--normative--> 2.805 + 2.806 +<h3 class="no-num" id="other-references"> 2.807 +Other references</h3> 2.808 +<!--informative--> 2.809 + 2.810 +<h2 class="no-num" id="index"> 2.811 +Index</h2> 2.812 +<!--index--> 2.813 + 2.814 +<h2 class="no-num" id="property-index"> 2.815 +Property index</h2> 2.816 +<!-- properties --> 2.817 + 2.818 +</body> 2.819 +</html> 2.820 +<!-- Keep this comment at the end of the file 2.821 +Local variables: 2.822 +mode: sgml 2.823 +sgml-declaration:"~/SGML/HTML4.decl" 2.824 +sgml-default-doctype-name:"html" 2.825 +sgml-minimize-attributes:t 2.826 +sgml-nofill-elements:("pre" "style" "br") 2.827 +sgml-live-element-indicator:t 2.828 +sgml-omittag:nil 2.829 +sgml-shorttag:nil 2.830 +sgml-namecase-general:t 2.831 +sgml-general-insert-case:lower 2.832 +sgml-always-quote-attributes:t 2.833 +sgml-indent-step:nil 2.834 +sgml-indent-data:t 2.835 +sgml-parent-document:nil 2.836 +sgml-exposed-tags:nil 2.837 +sgml-local-catalogs:nil 2.838 +sgml-local-ecat-files:nil 2.839 +End: 2.840 +--> 2.841 +