merge

Tue, 31 Jul 2012 17:51:53 -0700

author
Tab Atkins Jr. <jackalmage@gmail.com>
date
Tue, 31 Jul 2012 17:51:53 -0700
changeset 6328
59dccb8af55b
parent 6326
16eb1177faf5
parent 6327
2c84c410135e
child 6329
4bd18d6b3dc5

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 &amp; 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 &amp; 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 +   &lt;color&gt; 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>&lt;length></var>, a size of the <i>initial containing block</i>, or
   1.306 +    a <var>&lt;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 &amp; 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 &amp; 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 &ldquo;<kbd>[[SHORTNAME]] <var>&hellip; message topic &hellip;</var></kbd>&rdquo;
    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: &hellip;
    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 &lt;color&gt; 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>&lt;length></var>, 
   2.158 +			a size of the <i>initial containing block</i>,
   2.159 +			or a <var>&lt;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&sect;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&sect;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&sect;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&sect;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&sect;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&sect;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&sect;10.3.5</a> 
   2.218 +				and <a href="http://www.w3.org/TR/css3-multicol/#pseudo-algorithm">CSS Multi-column Layout &sect; 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&#160;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&sect;10.6.3</a>
   2.500 +		and <a href="http://www.w3.org/TR/CSS21/tables.html#height-layout">CSS2.1&sect;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&hellip;
   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 +		&hellip;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 + 

mercurial