[css4-images] Added an issue about the ordering of color-stop components.

Fri, 21 Sep 2012 16:01:06 -0700

author
Tab Atkins Jr. <jackalmage@gmail.com>
date
Fri, 21 Sep 2012 16:01:06 -0700
changeset 6752
54565c24c458
parent 6751
525eb91975a8
parent 6749
8fd5a483c818
child 6753
916361683a2b

[css4-images] Added an issue about the ordering of color-stop components.

css3-box/vertical-rl.png file | annotate | diff | comparison | revisions
css3-flexbox/Overview.html file | annotate | diff | comparison | revisions
css3-flexbox/Overview.src.html file | annotate | diff | comparison | revisions
css3-text/text-emphasis-ja.gif file | annotate | diff | comparison | revisions
css3-text/text-emphasis-ruby.png file | annotate | diff | comparison | revisions
css3-text/text-emphasis-v.gif file | annotate | diff | comparison | revisions
css3-text/text-emphasis-zh.gif file | annotate | diff | comparison | revisions
css3-text/underline-averaging.gif file | annotate | diff | comparison | revisions
css3-text/underline-example.png file | annotate | diff | comparison | revisions
css3-text/underline-position-alphabetic.png file | annotate | diff | comparison | revisions
css3-text/underline-position-below.png file | annotate | diff | comparison | revisions
css3-text/underline-position-left.png file | annotate | diff | comparison | revisions
css3-text/underline-position-right.png file | annotate | diff | comparison | revisions
     1.1 --- a/css-counter-styles/Overview.html	Fri Sep 21 16:00:07 2012 -0700
     1.2 +++ b/css-counter-styles/Overview.html	Fri Sep 21 16:01:06 2012 -0700
     1.3 @@ -7,17 +7,17 @@
     1.4    <link href="http://purl.org/dc/terms/" rel=schema.DC>
     1.5    <meta content="CSS Counter Styles Level 3" name=DC.title>
     1.6    <meta content=text name=DC.type>
     1.7 -  <meta content=2012-09-13 name=DC.issued>
     1.8 +  <meta content=2012-09-15 name=DC.issued>
     1.9    <meta content="Tab Atkins Jr." name=DC.creator>
    1.10    <meta content=W3C name=DC.publisher>
    1.11 -  <meta content="http://www.w3.org/TR/2012/ED-unknown-shortname-20120913/"
    1.12 +  <meta content="http://www.w3.org/TR/2012/ED-unknown-shortname-20120915/"
    1.13     name=DC.identifier>
    1.14    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    1.15     rel=DC.rights>
    1.16    <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
    1.17    <link href="../default.css" rel=stylesheet type="text/css">
    1.18    <style>
    1.19 -	pre > code { white-space: pre-wrap; }
    1.20 +	pre.stylesheet { white-space: pre-wrap; }
    1.21  	</style>
    1.22    <link href="http://www.w3.org/StyleSheets/TR/W3C-ED" rel=stylesheet
    1.23     type="text/css">
    1.24 @@ -381,26 +381,28 @@
    1.25  
    1.26    <p>The ‘<a href="#descdef-type"><code class=property>type</code></a>’
    1.27     descriptor specifies which algorithm will be used to construct the
    1.28 -   counter's representation based on the counter value. For example, ‘<code
    1.29 -   class=css>repeating</code>’ type counter styles just cycle through their
    1.30 -   symbols repeatedly, while <i>numeric</i> type counter styles interpret
    1.31 -   their symbols as digits and build their representation accordingly. The
    1.32 -   types are defined as follows:
    1.33 +   counter's representation based on the counter value. For example, <a
    1.34 +   href="#repeating0"><i>repeating</i></a> type counter styles just cycle
    1.35 +   through their symbols repeatedly, while <a
    1.36 +   href="#numeric0"><i>numeric</i></a> type counter styles interpret their
    1.37 +   symbols as digits and build their representation accordingly. The types
    1.38 +   are defined as follows:
    1.39  
    1.40    <h4 id=repeating><span class=secno>1.1.1. </span> repeating</h4>
    1.41  
    1.42 -  <p>If the type is <a href="#repeating">repeating</a>, the ‘<a
    1.43 +  <p>If the type is <dfn id=repeating0>repeating</dfn>, the ‘<a
    1.44     href="#descdef-symbols"><code class=property>symbols</code></a>’
    1.45     descriptor must contain at least one <a href="#counter-symbol"><i>counter
    1.46     symbol</i></a>. This type is defined over all counter values.
    1.47  
    1.48 -  <p>The <i>repeating</i> counter type cycles repeatedly through its provided
    1.49 -   symbols, looping back to the beginning when it reaches the end of the
    1.50 -   list, similar to the default <a href="#disc"><i>disc</i></a> counter
    1.51 -   style. It can be used for simple bullets (just provide a single <a
    1.52 -   href="#counter-symbol"><i>counter symbol</i></a>), or for cycling through
    1.53 -   multiple bullets. The first <a href="#counter-symbol"><i>counter
    1.54 -   symbol</i></a> is used as the representation of the value 1, the second <a
    1.55 +  <p>The <a href="#repeating0"><i>repeating</i></a> counter type cycles
    1.56 +   repeatedly through its provided symbols, looping back to the beginning
    1.57 +   when it reaches the end of the list, similar to the default <a
    1.58 +   href="#disc"><i>disc</i></a> counter style. It can be used for simple
    1.59 +   bullets (just provide a single <a href="#counter-symbol"><i>counter
    1.60 +   symbol</i></a>), or for cycling through multiple bullets. The first <a
    1.61 +   href="#counter-symbol"><i>counter symbol</i></a> is used as the
    1.62 +   representation of the value 1, the second <a
    1.63     href="#counter-symbol"><i>counter symbol</i></a> (if it exists) is used as
    1.64     the representation of the value 2, etc.
    1.65  
    1.66 @@ -432,20 +434,20 @@
    1.67  
    1.68    <h4 id=numeric><span class=secno>1.1.2. </span> numeric</h4>
    1.69  
    1.70 -  <p>If the type is <a href="#numeric">numeric</a>, the ‘<a
    1.71 +  <p>If the type is <dfn id=numeric0>numeric</dfn>, the ‘<a
    1.72     href="#descdef-symbols"><code class=property>symbols</code></a>’
    1.73     descriptor must contain at least two <a href="#counter-symbol"><i>counter
    1.74     symbol</i></a>s. This type is defined over all counter values.
    1.75  
    1.76 -  <p>The <i>numeric</i> counter type cycles interprets the list of <a
    1.77 -   href="#counter-symbol"><i>counter symbol</i></a>s as digits to a number
    1.78 -   system, similar to the default <a href="#decimal"><i>decimal</i></a>
    1.79 -   counter style. The first <a href="#counter-symbol"><i>counter
    1.80 -   symbol</i></a> in the list is interpreted as the digit 0, the second as
    1.81 -   the digit 1, and so on. If there are <var>length</var> <a
    1.82 -   href="#counter-symbol"><i>counter symbol</i></a>s, the representation is a
    1.83 -   base <var>length</var> number using the <a
    1.84 -   href="#counter-symbol"><i>counter symbol</i></a>s as digits.
    1.85 +  <p>The <a href="#numeric0"><i>numeric</i></a> counter type cycles
    1.86 +   interprets the list of <a href="#counter-symbol"><i>counter
    1.87 +   symbol</i></a>s as digits to a number system, similar to the default <a
    1.88 +   href="#decimal"><i>decimal</i></a> counter style. The first <a
    1.89 +   href="#counter-symbol"><i>counter symbol</i></a> in the list is
    1.90 +   interpreted as the digit 0, the second as the digit 1, and so on. If there
    1.91 +   are <var>length</var> <a href="#counter-symbol"><i>counter
    1.92 +   symbol</i></a>s, the representation is a base <var>length</var> number
    1.93 +   using the <a href="#counter-symbol"><i>counter symbol</i></a>s as digits.
    1.94  
    1.95    <p>To construct the representation, run the following algorithm. Let
    1.96     <var>length</var> be the length of the list of <i>counter symbols</i>,
    1.97 @@ -504,15 +506,16 @@
    1.98  
    1.99    <h4 id=alphabetic><span class=secno>1.1.3. </span> alphabetic</h4>
   1.100  
   1.101 -  <p>If the type is <a href="#alphabetic">alphabetic</a>, the ‘<a
   1.102 +  <p>If the type is <dfn id=alphabetic0>alphabetic</dfn>, the ‘<a
   1.103     href="#descdef-symbols"><code class=property>symbols</code></a>’
   1.104     descriptor must contain at least two <a href="#counter-symbol"><i>counter
   1.105     symbol</i></a>s. This type is defined only over strictly positive counter
   1.106     values.
   1.107  
   1.108 -  <p>The <i>alphabetic</i> counter type interprets the list of <i>counter
   1.109 -   symbols</i> as digits to an <em>alphabetic</em> numbering system, similar
   1.110 -   to the default ‘<a href="#lower-alpha"><code
   1.111 +  <p>The <a href="#alphabetic0"><i>alphabetic</i></a> counter type interprets
   1.112 +   the list of <i>counter symbols</i> as digits to an <a
   1.113 +   href="#alphabetic0"><em>alphabetic</em></a> numbering system, similar to
   1.114 +   the default ‘<a href="#lower-alpha"><code
   1.115     class=css>lower-alpha</code></a>’ counter style. Alphabetic numbering
   1.116     systems are commonly used for lists, and also appear in many spreadsheet
   1.117     programs to number columns. The first <a href="#counter-symbol"><i>counter
   1.118 @@ -612,20 +615,21 @@
   1.119  
   1.120    <h4 id=symbolic><span class=secno>1.1.4. </span> symbolic</h4>
   1.121  
   1.122 -  <p>If the type is <a href="#symbolic">symbolic</a>, the ‘<a
   1.123 +  <p>If the type is <dfn id=symbolic0>symbolic</dfn>, the ‘<a
   1.124     href="#descdef-symbols"><code class=property>symbols</code></a>’
   1.125     descriptor must contain at least one <a href="#counter-symbol"><i>counter
   1.126     symbol</i></a>. This type is defined only over strictly positive counter
   1.127     values.
   1.128  
   1.129 -  <p>The <i>symbolic</i> counter type cycles repeatedly through its provided
   1.130 -   symbols, doubling, tripling, etc. the symbols on each successive pass
   1.131 -   through the list. For example, if the original symbols were "*" and "†",
   1.132 -   then on the second pass they would instead be "**" and "††", while on
   1.133 -   the third they would be "***" and "†††", etc. It can be used for
   1.134 -   footnote-style markers, and is also sometimes used for alphabetic-style
   1.135 -   lists for a slightly different presentation than what the
   1.136 -   <i>alphabetic</i> type presents.
   1.137 +  <p>The <a href="#symbolic0"><i>symbolic</i></a> counter type cycles
   1.138 +   repeatedly through its provided symbols, doubling, tripling, etc. the
   1.139 +   symbols on each successive pass through the list. For example, if the
   1.140 +   original symbols were "*" and "†", then on the second pass they would
   1.141 +   instead be "**" and "††", while on the third they would be "***" and
   1.142 +   "†††", etc. It can be used for footnote-style markers, and is also
   1.143 +   sometimes used for alphabetic-style lists for a slightly different
   1.144 +   presentation than what the <a href="#alphabetic0"><i>alphabetic</i></a>
   1.145 +   type presents.
   1.146  
   1.147    <p>To construct the representation, run the following algorithm. Let
   1.148     <var>length</var> be the length of the list of <a
   1.149 @@ -693,17 +697,17 @@
   1.150      this style jumps up to the triple digits with "AAA", "BBB", "CCC", etc.
   1.151    </div>
   1.152  
   1.153 -  <p>The <i>symbolic</i> type will produce representations with sizes that
   1.154 -   are linear in the magnitude of the counter value. This can potentially be
   1.155 -   abused to generate excessively large representations and consume undue
   1.156 -   amounts of the user's memory or even hang their browser. User agents must
   1.157 -   support representations at least 20 characters long, but they may choose
   1.158 -   to instead use the fallback style for representations that would be longer
   1.159 -   than 20 characters.
   1.160 +  <p>The <a href="#symbolic0"><i>symbolic</i></a> type will produce
   1.161 +   representations with sizes that are linear in the magnitude of the counter
   1.162 +   value. This can potentially be abused to generate excessively large
   1.163 +   representations and consume undue amounts of the user's memory or even
   1.164 +   hang their browser. User agents must support representations at least 20
   1.165 +   characters long, but they may choose to instead use the fallback style for
   1.166 +   representations that would be longer than 20 characters.
   1.167  
   1.168    <h4 id=non-repeating><span class=secno>1.1.5. </span> non-repeating</h4>
   1.169  
   1.170 -  <p>If the type is <a href="#non-repeating">non-repeating</a>, the ‘<a
   1.171 +  <p>If the type is <dfn id=non-repeating0>non-repeating</dfn>, the ‘<a
   1.172     href="#descdef-symbols"><code class=property>symbols</code></a>’
   1.173     descriptor must contain at least one <a href="#counter-symbol"><i>counter
   1.174     symbol</i></a>. This type is defined over counter values in a finite
   1.175 @@ -711,10 +715,10 @@
   1.176     value</i></a> and having a length equal to the length of the list of <a
   1.177     href="#counter-symbol"><i>counter symbol</i></a>s.
   1.178  
   1.179 -  <p>The <i>non-repeating</i> counter type is for representing counter styles
   1.180 -   that only have a finite number of representations. For example, Unicode
   1.181 -   defines several limited-length runs of special characters meant for lists,
   1.182 -   such as circled digits.
   1.183 +  <p>The <a href="#non-repeating0"><i>non-repeating</i></a> counter type is
   1.184 +   for representing counter styles that only have a finite number of
   1.185 +   representations. For example, Unicode defines several limited-length runs
   1.186 +   of special characters meant for lists, such as circled digits.
   1.187  
   1.188    <p>When this type is specified, it may optionally have an integer provided
   1.189     after it, which sets the <dfn id=first-symbol-value>first symbol
   1.190 @@ -754,19 +758,19 @@
   1.191  
   1.192    <h4 id=additive><span class=secno>1.1.6. </span> additive</h4>
   1.193  
   1.194 -  <p>If the type is <a href="#additive">additive</a>, the ‘<a
   1.195 +  <p>If the type is <dfn id=additive0>additive</dfn>, the ‘<a
   1.196     href="#descdef-additive-symbols"><code
   1.197     class=property>additive-symbols</code></a>’ descriptor must contain at
   1.198     least one <a href="#additive-tuple"><i>additive tuple</i></a>. This type
   1.199     is nominally defined over all counter values (see algorithm, below, for
   1.200     exact details)
   1.201  
   1.202 -  <p>The <i>additive</i> counter type takes as many of the largest symbols
   1.203 -   that it can, then as many of the next largest symbol, etc. until the sum
   1.204 -   of all the symbols equals the counter value. It can be used to implement
   1.205 -   roman numerals, and additionally is used to represent the numbering system
   1.206 -   of several languages which use different characters for the digits in
   1.207 -   differnt positions.
   1.208 +  <p>The <a href="#additive0"><i>additive</i></a> counter type takes as many
   1.209 +   of the largest symbols that it can, then as many of the next largest
   1.210 +   symbol, etc. until the sum of all the symbols equals the counter value. It
   1.211 +   can be used to implement roman numerals, and additionally is used to
   1.212 +   represent the numbering system of several languages which use different
   1.213 +   characters for the digits in differnt positions.
   1.214  
   1.215    <p>To construct the representation, run this algorithm. Let
   1.216     <var>value</var> initially be the counter value, <var>S</var> initially be
   1.217 @@ -836,25 +840,27 @@
   1.218  		</pre>
   1.219    </div>
   1.220  
   1.221 -  <p>The <i>additive</i> type will produce representations with sizes that
   1.222 -   are linear in the magnitude of the counter value. This can potentially be
   1.223 -   abused to generate excessively large representations and consume undue
   1.224 -   amounts of the user's memory or even hang their browser. User agents must
   1.225 -   support representations at least 20 characters long, but they may choose
   1.226 -   to instead use the fallback style for representations that would be longer
   1.227 -   than 20 characters.
   1.228 +  <p>The <a href="#additive0"><i>additive</i></a> type will produce
   1.229 +   representations with sizes that are linear in the magnitude of the counter
   1.230 +   value. This can potentially be abused to generate excessively large
   1.231 +   representations and consume undue amounts of the user's memory or even
   1.232 +   hang their browser. User agents must support representations at least 20
   1.233 +   characters long, but they may choose to instead use the fallback style for
   1.234 +   representations that would be longer than 20 characters.
   1.235  
   1.236    <h4 id=override><span class=secno>1.1.7. </span> override</h4>
   1.237  
   1.238 -  <p>The <a href="#override">override</a> type allows an author to use the
   1.239 +  <p>The <dfn id=override0>override</dfn> type allows an author to use the
   1.240     <i>algorithm</i> of another counter style, but alter other aspects, such
   1.241 -   as the negative sign or the suffix. If a counter style uses the
   1.242 -   <i>override</i> type, any unspecified descriptors must be taken from the
   1.243 -   specified counter style, rather than taking their initial values.
   1.244 -
   1.245 -  <p>If a @counter-style uses the <i>override</i> type, it must not contain a
   1.246 -   ‘<a href="#descdef-symbols"><code class=property>symbols</code></a>’
   1.247 -   or ‘<a href="#descdef-additive-symbols"><code
   1.248 +   as the negative sign or the suffix. If a counter style uses the <a
   1.249 +   href="#override0"><i>override</i></a> type, any unspecified descriptors
   1.250 +   must be taken from the specified counter style, rather than taking their
   1.251 +   initial values.
   1.252 +
   1.253 +  <p>If a @counter-style uses the <a href="#override0"><i>override</i></a>
   1.254 +   type, it must not contain a ‘<a href="#descdef-symbols"><code
   1.255 +   class=property>symbols</code></a>’ or ‘<a
   1.256 +   href="#descdef-additive-symbols"><code
   1.257     class=property>additive-symbols</code></a>’ descriptor; otherwise it is
   1.258     invalid and must be ignored. If the specified counter style name isn't the
   1.259     name of any currently-defined counter style, it must be treated as if it
   1.260 @@ -997,16 +1003,18 @@
   1.261     the entire descriptor is invalid and must be ignored.
   1.262  
   1.263    <p>If the value is ‘<code class=css>auto</code>’, the range depends on
   1.264 -   the counter type. For ‘<code class=css>repeating</code>’, ‘<code
   1.265 -   class=css>numeric</code>’, and ‘<code
   1.266 -   class=css>non-repeating</code>’ types, it must be treated identically to
   1.267 -   specifying ‘<code class=css>infinite infinite</code>’. For ‘<code
   1.268 -   class=css>alphabetic</code>’ and ‘<code class=css>symbolic</code>’,
   1.269 -   it must be treated identically to ‘<code class=css>1 infinite</code>’.
   1.270 -   For ‘<code class=css>additive</code>’, it must be treated identically
   1.271 -   to ‘<code class=css>0 infinite</code>’. For ‘<code
   1.272 -   class=css>override</code>’, it must be treated according to the type of
   1.273 -   the counter style it is overriding.
   1.274 +   the counter type. For ‘<a href="#repeating0"><code
   1.275 +   class=css>repeating</code></a>’, ‘<a href="#numeric0"><code
   1.276 +   class=css>numeric</code></a>’, and ‘<a href="#non-repeating0"><code
   1.277 +   class=css>non-repeating</code></a>’ types, it must be treated
   1.278 +   identically to specifying ‘<code class=css>infinite infinite</code>’.
   1.279 +   For ‘<a href="#alphabetic0"><code class=css>alphabetic</code></a>’ and
   1.280 +   ‘<a href="#symbolic0"><code class=css>symbolic</code></a>’, it must be
   1.281 +   treated identically to ‘<code class=css>1 infinite</code>’. For ‘<a
   1.282 +   href="#additive0"><code class=css>additive</code></a>’, it must be
   1.283 +   treated identically to ‘<code class=css>0 infinite</code>’. For ‘<a
   1.284 +   href="#override0"><code class=css>override</code></a>’, it must be
   1.285 +   treated according to the type of the counter style it is overriding.
   1.286  
   1.287    <p>Some counter style types have their own implicit ranges, specified above
   1.288     in the individual descriptions for each type. The explicit range given by
   1.289 @@ -1067,10 +1075,11 @@
   1.290     values and one that can only represent even values, and specify each as
   1.291     the fallback for the other one. Though the fallback graph is circular, at
   1.292     no point do you encounter a loop while following these fallbacks - every
   1.293 -   counter value is represented by one or the other counter style. <span
   1.294 -   class=issue>Is it useful to allow this case? If it would be significantly
   1.295 -   easier for implementations to just detect and reject circular fallback
   1.296 -   graphs, that would probably be acceptable.</span>
   1.297 +   counter value is represented by one or the other counter style.
   1.298 +
   1.299 +  <p class=issue>Is it useful to allow this case? If it would be
   1.300 +   significantly easier for implementations to just detect and reject
   1.301 +   circular fallback graphs, that would probably be acceptable.
   1.302  
   1.303    <h3 id=counter-style-symbols><span class=secno>1.7. </span> Marker
   1.304     characters: the ‘<a href="#descdef-symbols"><code
   1.305 @@ -1122,12 +1131,15 @@
   1.306     ‘<a href="#descdef-type"><code class=property>type</code></a>’
   1.307     descriptor. The ‘<a href="#descdef-symbols"><code
   1.308     class=property>symbols</code></a>’ descriptor must be specified if the
   1.309 -   counter type is <i>repeating</i>, <i>numeric</i>, <i>alphabetic</i>,
   1.310 -   <i>symbolic</i>, or <i>non-repeating</i>, and the ‘<a
   1.311 +   counter type is <a href="#repeating0"><i>repeating</i></a>, <a
   1.312 +   href="#numeric0"><i>numeric</i></a>, <a
   1.313 +   href="#alphabetic0"><i>alphabetic</i></a>, <a
   1.314 +   href="#symbolic0"><i>symbolic</i></a>, or <a
   1.315 +   href="#non-repeating0"><i>non-repeating</i></a>, and the ‘<a
   1.316     href="#descdef-additive-symbols"><code
   1.317     class=property>additive-symbols</code></a>’ descriptor must be specified
   1.318 -   if the counter type is <i>additive</i>; otherwise, the @counter-style is
   1.319 -   invalid and must be ignored.
   1.320 +   if the counter type is <a href="#additive0"><i>additive</i></a>;
   1.321 +   otherwise, the @counter-style is invalid and must be ignored.
   1.322  
   1.323    <p>Some counter styles specify that the ‘<a href="#descdef-symbols"><code
   1.324     class=property>symbols</code></a>’ descriptor must have at least two
   1.325 @@ -1177,11 +1189,12 @@
   1.326    <pre><dfn
   1.327     id=type-symbols-function>&lt;symbols-function></dfn> = symbols( &lt;symbols-type>? [ &lt;string> | &lt;image> ]+ )</pre>
   1.328  
   1.329 -  <p> Where &lt;symbols-type> is one of the following keywords: ‘<code
   1.330 -   class=css>repeating</code>’, ‘<code class=css>numeric</code>’,
   1.331 -   ‘<code class=css>alphabetic</code>’, ‘<code
   1.332 -   class=css>symbolic</code>’, or ‘<code
   1.333 -   class=css>non-repeating</code>’.
   1.334 +  <p> Where &lt;symbols-type> is one of the following keywords: ‘<a
   1.335 +   href="#repeating0"><code class=css>repeating</code></a>’, ‘<a
   1.336 +   href="#numeric0"><code class=css>numeric</code></a>’, ‘<a
   1.337 +   href="#alphabetic0"><code class=css>alphabetic</code></a>’, ‘<a
   1.338 +   href="#symbolic0"><code class=css>symbolic</code></a>’, or ‘<a
   1.339 +   href="#non-repeating0"><code class=css>non-repeating</code></a>’.
   1.340  
   1.341    <p> The ‘<a href="#descdef-symbols"><code
   1.342     class=css>symbols()</code></a>’ function defines an anonymous counter
   1.343 @@ -1196,12 +1209,13 @@
   1.344     title=counter-negative>negative sign</i></a> of "\2D" ("-" hyphen-minus).
   1.345     The counter style's <a href="#algorithm"><i
   1.346     title=counter-algorithm>algorithm</i></a> is constructed by consulting the
   1.347 -   previous chapter using the provided type - or ‘<code
   1.348 -   class=css>symbolic</code>’ if the type was omitted - and the provided
   1.349 -   &lt;string>s and &lt;image>s as the value of the ‘<a
   1.350 -   href="#descdef-symbols"><code class=property>symbols</code></a>’
   1.351 -   property. If the type is ‘<code class=css>non-repeating</code>’, the
   1.352 -   <a href="#first-symbol-value"><i>first symbol value</i></a> is ‘<code
   1.353 +   previous chapter using the provided type - or ‘<a
   1.354 +   href="#symbolic0"><code class=css>symbolic</code></a>’ if the type was
   1.355 +   omitted - and the provided &lt;string>s and &lt;image>s as the value of
   1.356 +   the ‘<a href="#descdef-symbols"><code
   1.357 +   class=property>symbols</code></a>’ property. If the type is ‘<a
   1.358 +   href="#non-repeating0"><code class=css>non-repeating</code></a>’, the <a
   1.359 +   href="#first-symbol-value"><i>first symbol value</i></a> is ‘<code
   1.360     class=css>1</code>’.
   1.361  
   1.362    <div class=example>
   1.363 @@ -1269,8 +1283,9 @@
   1.364  
   1.365    <p> The following stylesheet uses the ‘<code
   1.366     class=css>@counter-style</code>’ rule to redefine all of the counter
   1.367 -   styles defined in CSS 2 and CSS 2.1, plus This stylesheet is normative -
   1.368 -   UAs must include it in their UA stylesheet.
   1.369 +   styles defined in CSS 2 and CSS 2.1. This stylesheet is normative - UAs
   1.370 +   must include it in their UA stylesheet (or at least act as if these rules
   1.371 +   were defined at that level).
   1.372  
   1.373    <h3 id=simple-numeric><span class=secno>3.1. </span> Numeric: ‘<a
   1.374     href="#decimal"><code class=css>decimal</code></a>’, ‘<a
   1.375 @@ -1283,9 +1298,8 @@
   1.376     href="#georgian"><code class=css>georgian</code></a>’, ‘<a
   1.377     href="#hebrew"><code class=css>hebrew</code></a>’</h3>
   1.378  
   1.379 -  <pre style="white-space: pre-wrap;"><bdo>
   1.380 -@counter-style <dfn
   1.381 -   id=decimal>decimal</dfn> {
   1.382 +  <pre class=stylesheet><bdo>
   1.383 +@counter-style <dfn id=decimal>decimal</dfn> {
   1.384  	type: numeric;
   1.385  	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
   1.386  }
   1.387 @@ -1357,7 +1371,7 @@
   1.388     href="#katakana"><code class=css>katakana</code></a>’, ‘<a
   1.389     href="#katakana-iroha"><code class=css>katakana-iroha</code></a>’</h3>
   1.390  
   1.391 -  <pre style="white-space: pre-wrap;"><bdo>
   1.392 +  <pre class=stylesheet><bdo>
   1.393  @counter-style <dfn
   1.394     id=lower-alpha>lower-alpha</dfn> {
   1.395  	type: alphabetic;
   1.396 @@ -1424,7 +1438,7 @@
   1.397     href="#circle"><code class=css>circle</code></a>’, ‘<a
   1.398     href="#square"><code class=css>square</code></a>’</h3>
   1.399  
   1.400 -  <p>In addition to the above styles, UAs must define three counter styles
   1.401 +  <p> In addition to the above styles, UAs must define three counter styles
   1.402     named ‘<a href="#disc"><code class=css>disc</code></a>’, ‘<a
   1.403     href="#circle"><code class=css>circle</code></a>’, and ‘<a
   1.404     href="#square"><code class=css>square</code></a>’. They must do so
   1.405 @@ -1432,14 +1446,14 @@
   1.406     rendering the bullets with a browser-generated image matching the
   1.407     descriptions below the stylesheet.
   1.408  
   1.409 -  <p>If a browser chooses to render these counter styles by generating
   1.410 +  <p> If a browser chooses to render these counter styles by generating
   1.411     images, the images must be sized to attractively fill a 1em by 1em
   1.412     rectangle. As well, the styles must still be overrideable by a later
   1.413     ‘<code class=css>@counter-style</code>’ rule defining a counter style
   1.414     of the same name, as if they were defined by a ‘<code
   1.415     class=css>@counter-style</code>’ rule in the UA stylesheet.
   1.416  
   1.417 -  <pre>
   1.418 +  <pre class=stylesheet>
   1.419  @counter-style <dfn id=disc>disc</dfn> {
   1.420  	type: repeating;
   1.421  	symbols: \2022;
   1.422 @@ -1481,21 +1495,19 @@
   1.423    <h2 id=complex-predefined-counters><span class=secno>4. </span> Complex
   1.424     Predefined Counter Styles</h2>
   1.425  
   1.426 -  <p>While authors may define their own counter styles using the ‘<code
   1.427 -   class=css>@counter-style</code>’ rule defined in the Lists spec <a
   1.428 -   href="#CSS3LIST" rel=biblioentry>[CSS3LIST]<!--{{!CSS3LIST}}--></a> or
   1.429 -   rely on the set of <a href="#ua-stylesheet">predefined counter styles</a>,
   1.430 -   a few counter styles are described by rules that are too complex to be
   1.431 -   captured by the predefined algorithms. These counter styles are described
   1.432 -   in this section.
   1.433 -
   1.434 -  <p>The counter styles specified in this section have custom <a
   1.435 +  <p> While authors may define their own counter styles using the ‘<code
   1.436 +   class=css>@counter-style</code>’ rule or rely on the set of <a
   1.437 +   href="#ua-stylesheet">predefined counter styles</a>, a few counter styles
   1.438 +   are described by rules that are too complex to be captured by the
   1.439 +   predefined algorithms. These counter styles are described in this section.
   1.440 +
   1.441 +  <p> Some of the counter styles specified in this section have custom <a
   1.442     href="#algorithm"><i title=counter-algorithm>algorithms for generating
   1.443     counter values</i></a>, but are otherwise identical to a counter style
   1.444 -   defined via the ‘<code class=css>@counter-style</code>’ rule,
   1.445 -   described below. For example, an author can reference one of these styles
   1.446 -   in an ‘<code class=property>override</code>’ type, reusing the
   1.447 -   algorithm but swapping out some of the other descriptors.
   1.448 +   defined via the ‘<code class=css>@counter-style</code>’ rule. For
   1.449 +   example, an author can reference one of these styles in an ‘<a
   1.450 +   href="#override0"><code class=property>override</code></a>’ type,
   1.451 +   reusing the algorithm but swapping out some of the other descriptors.
   1.452  
   1.453    <h3 id=complex-cjk><span class=secno>4.1. </span> Longhand East Asian
   1.454     Counter Styles: ‘<a href="#japanese-informal0"><code
   1.455 @@ -1516,20 +1528,36 @@
   1.456     href="#trad-chinese-formal0"><code
   1.457     class=css>trad-chinese-formal</code></a>’</h3>
   1.458  
   1.459 -  <p>Chinese, Japanese, and Korean have longhand counter styles, which have a
   1.460 -   structure similar to "one hundred thirteen thousand and twenty-three" in
   1.461 +  <p> Chinese, Japanese, and Korean have longhand counter styles, which have
   1.462 +   a structure similar to "one hundred thirteen thousand and twenty-three" in
   1.463     English. Each has both formal and informal variants. The formal styles are
   1.464     typically used in financial and legal documents, as their characters are
   1.465 -   more difficult to alter.
   1.466 -
   1.467 -  <p class=issue> Rewrite this intro.
   1.468 +   more difficult to alter into each other.
   1.469 +
   1.470 +  <p> Some of the counter styles can, if limited to a reasonable range, be
   1.471 +   expressed as ‘<code class=css>@counter-style</code>’ rules. As such,
   1.472 +   this section is split into two pieces: a required section defining the
   1.473 +   styles over this limited range, and an optional section defining them over
   1.474 +   a much larger range that requires custom algorithms for all of the styles.
   1.475  
   1.476    <dl>
   1.477     <dt>japanese-informal
   1.478  
   1.479     <dd>description and example of this style
   1.480  
   1.481 -   <dt>...
   1.482 +   <dt>japanese-formal
   1.483 +
   1.484 +   <dd>...
   1.485 +
   1.486 +   <dt>korean-hangul-formal
   1.487 +
   1.488 +   <dd>...
   1.489 +
   1.490 +   <dt>korean-hanja-informal
   1.491 +
   1.492 +   <dd>...
   1.493 +
   1.494 +   <dt>korean-hanja-formal
   1.495  
   1.496     <dd>...
   1.497  
   1.498 @@ -1562,8 +1590,9 @@
   1.499  
   1.500    <h5 class="no-num no-toc" id=limited-japanese> Japanese</h5>
   1.501  
   1.502 -  <pre>
   1.503 -@counter-style <dfn id=japanese-informal>japanese-informal</dfn> {
   1.504 +  <pre class=stylesheet>
   1.505 +@counter-style <dfn
   1.506 +   id=japanese-informal>japanese-informal</dfn> {
   1.507  	type: additive;
   1.508  	range: 0 9999;
   1.509  	additive-symbols: 9000 \4E5D\5343, 8000 \516B\5343, 7000 \4E03\5343, 6000 \516D\5343, 5000 \4E94\5343, 4000 \56DB\5343, 3000 \4E09\5343, 2000 \4E8C\5343, 1000 \5343, 900 \4E5D\767E, 800 \516B\767E, 700 \4E03\767E, 600 \516D\767E, 500 \4E94\767E, 400 \56DB\767E, 300 \4E09\767E, 200 \4E8C\767E, 100 \767E, 90 \4E5D\5341, 80 \516B\5341, 70 \4E03\5341, 60 \516D\5341, 50 \4E94\5341, 40 \56DB\5341, 30 \4E09\5341, 20 \4E8C\5341, 10 \5341, 9 \4E5D, 8 \516B, 7 \4E03, 6 \516D, 5 \4E94, 4 \56DB, 3 \4E09, 2 \4E8C, 1 \4E00, 0 \3007;
   1.510 @@ -1586,7 +1615,7 @@
   1.511  
   1.512    <h5 class="no-num no-toc" id=limited-korean> Korean</h5>
   1.513  
   1.514 -  <pre>
   1.515 +  <pre class=stylesheet>
   1.516  @counter-style <dfn
   1.517     id=korean-hangul-formal>korean-hangul-formal</dfn> {
   1.518  	type: additive;
   1.519 @@ -1890,7 +1919,7 @@
   1.520      serve to represent ‘<a href="#simp-chinese-informal0"><code
   1.521      class=css>simp-chinese-informal</code></a>’ between 0 and 999:
   1.522  
   1.523 -   <pre>
   1.524 +   <pre class=stylesheet>
   1.525  @counter-style simp-chinese-informal {
   1.526  	type: non-repeating 101;
   1.527  	fallback: simp-chinese-informal-200;
   1.528 @@ -1948,10 +1977,10 @@
   1.529  
   1.530    <p>The Chinese longhand styles are defined out to 10k with a <a
   1.531     href="#cjk-counter-styles">specialized algorithm</a>, while the Japanese
   1.532 -   and Korean longhand styles are defined similarly as <i>additive</i>
   1.533 -   styles. However, these styles are defined out to 10<sup>16</sup> in common
   1.534 -   usage. The following section describes an alternative algorithm for these
   1.535 -   styles.
   1.536 +   and Korean longhand styles are defined similarly as <a
   1.537 +   href="#additive0"><i>additive</i></a> styles. However, these styles are
   1.538 +   defined out to 10<sup>16</sup> in common usage. The following section
   1.539 +   describes an alternative algorithm for these styles.
   1.540  
   1.541    <p>The Chinese and Japanese styles are defined for all numbers between
   1.542     -10<sup>16</sup> and 10<sup>16</sup>, exclusive; the Korean styles are
     2.1 --- a/css-counter-styles/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
     2.2 +++ b/css-counter-styles/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
     2.3 @@ -4,7 +4,7 @@
     2.4  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
     2.5  	<link rel="stylesheet" type="text/css" href="../default.css">
     2.6  	<style>
     2.7 -	pre > code { white-space: pre-wrap; }
     2.8 +	pre.stylesheet { white-space: pre-wrap; }
     2.9  	</style>
    2.10  	<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED">
    2.11  </head><body>
    2.12 @@ -66,10 +66,10 @@
    2.13  		Unfortunately, the set of potentially useful list styles is too large to specify ahead of time - 
    2.14  		the world contains thousands of languages and hundreds of scripts, 
    2.15  		not to mention the near-infinite stylistic variations found on the web that go beyond mere language-based variation. 
    2.16 -		 The ''@counter-style'' rule allows CSS to address this in an open-ended manner, 
    2.17 -		 by allowing the author to define their own counter styles.  
    2.18 -		 These styles can then be used in the 'list-style-type' property 
    2.19 -		 or in the <code title='counter-function'>counter()</code> and <code title='counters-function'>counters()</code> functions.
    2.20 +		The ''@counter-style'' rule allows CSS to address this in an open-ended manner, 
    2.21 +		by allowing the author to define their own counter styles.  
    2.22 +		These styles can then be used in the 'list-style-type' property 
    2.23 +		or in the <code title='counter-function'>counter()</code> and <code title='counters-function'>counters()</code> functions.
    2.24  
    2.25  	<p>
    2.26  		A <dfn>counter style</dfn> defines how to construct the representation of a counter value.  
    2.27 @@ -197,7 +197,7 @@
    2.28  
    2.29  	<p>The 'type' descriptor specifies which algorithm will be used to construct
    2.30  	the counter's representation based on the counter value.  For example, 
    2.31 -	''repeating'' type counter styles just cycle through their symbols repeatedly, 
    2.32 +	<i>repeating</i> type counter styles just cycle through their symbols repeatedly, 
    2.33  	while <i>numeric</i> type counter styles interpret their symbols as digits and 
    2.34  	build their representation accordingly.  The types are defined as follows:
    2.35  
    2.36 @@ -205,7 +205,7 @@
    2.37  <h4>
    2.38  repeating</h4>
    2.39  
    2.40 -	<p>If the type is <a href=#repeating>repeating</a>, the 'symbols' descriptor must contain 
    2.41 +	<p>If the type is <dfn>repeating</dfn>, the 'symbols' descriptor must contain 
    2.42  	at least one <i>counter symbol</i>. This type is defined over all counter 
    2.43  	values.
    2.44  
    2.45 @@ -246,7 +246,7 @@
    2.46  <h4>
    2.47  numeric</h4>
    2.48  
    2.49 -	<p>If the type is <a href=#numeric>numeric</a>, the 'symbols' descriptor must contain at
    2.50 +	<p>If the type is <dfn>numeric</dfn>, the 'symbols' descriptor must contain at
    2.51  	least two <i>counter symbol</i>s. This type is defined over all counter 
    2.52  	values.
    2.53  
    2.54 @@ -311,7 +311,7 @@
    2.55  <h4>
    2.56  alphabetic</h4>
    2.57  
    2.58 -	<p>If the type is <a href=#alphabetic>alphabetic</a>, the 'symbols' descriptor must contain
    2.59 +	<p>If the type is <dfn>alphabetic</dfn>, the 'symbols' descriptor must contain
    2.60  	at least two <i>counter symbol</i>s.  This type is defined only over
    2.61  	strictly positive counter values.
    2.62  
    2.63 @@ -410,7 +410,7 @@
    2.64  <h4>
    2.65  symbolic</h4>
    2.66  
    2.67 -	<p>If the type is <a href=#symbolic>symbolic</a>, the 'symbols' descriptor must contain at
    2.68 +	<p>If the type is <dfn>symbolic</dfn>, the 'symbols' descriptor must contain at
    2.69  	least one <i>counter symbol</i>.  This type is defined only over strictly positive
    2.70  	counter values.
    2.71  
    2.72 @@ -487,7 +487,7 @@
    2.73  <h4>
    2.74  non-repeating</h4>
    2.75  
    2.76 -	<p>If the type is <a href=#non-repeating>non-repeating</a>, the 'symbols' descriptor must contain
    2.77 +	<p>If the type is <dfn>non-repeating</dfn>, the 'symbols' descriptor must contain
    2.78  	at least one <i>counter symbol</i>.  This type is defined over counter
    2.79  	values in a finite range, starting with the <i>first symbol value</i>
    2.80  	and having a length equal to the length of the list of <i>counter symbol</i>s.
    2.81 @@ -534,7 +534,7 @@
    2.82  <h4>
    2.83  additive</h4>
    2.84  
    2.85 -	<p>If the type is <a href=#additive>additive</a>, the 'additive-symbols' descriptor must
    2.86 +	<p>If the type is <dfn>additive</dfn>, the 'additive-symbols' descriptor must
    2.87  	contain at least one <i>additive tuple</i>.  This type is nominally
    2.88  	defined over all counter values (see algorithm, below, for exact details)
    2.89  
    2.90 @@ -611,7 +611,7 @@
    2.91  <h4>
    2.92  override</h4>
    2.93  
    2.94 -	<p>The <a href=#override>override</a> type allows an author to use the <i>algorithm</i> of another counter style, but alter other aspects, such as the negative sign or the suffix.  If a counter style uses the <i>override</i> type, any unspecified descriptors must be taken from the specified counter style, rather than taking their initial values.
    2.95 +	<p>The <dfn>override</dfn> type allows an author to use the <i>algorithm</i> of another counter style, but alter other aspects, such as the negative sign or the suffix.  If a counter style uses the <i>override</i> type, any unspecified descriptors must be taken from the specified counter style, rather than taking their initial values.
    2.96  
    2.97  	<p>If a @counter-style uses the <i>override</i> type, it must not contain a
    2.98  	'symbols' or 'additive-symbols' descriptor; otherwise it is invalid and must
    2.99 @@ -760,7 +760,9 @@
   2.100  	can only represent even values, and specify each as the fallback for the 
   2.101  	other one.  Though the fallback graph is circular, at no point do you encounter 
   2.102  	a loop while following these fallbacks - every counter value is represented 
   2.103 -	by one or the other counter style.  <span class='issue'>Is it useful to allow
   2.104 +	by one or the other counter style.  
   2.105 +
   2.106 +	<p class='issue'>Is it useful to allow
   2.107  	this case?  If it would be significantly easier for implementations to just
   2.108  	detect and reject circular fallback graphs, that would probably be acceptable.</span>
   2.109  
   2.110 @@ -921,17 +923,17 @@
   2.111  Simple Predefined Counter Styles</h2>
   2.112  
   2.113  	<p>
   2.114 -	The following stylesheet uses the ''@counter-style'' rule
   2.115 -	to redefine all of the counter styles defined in CSS 2 and CSS 2.1,
   2.116 -	plus 
   2.117 -	This stylesheet is normative - 
   2.118 -	UAs must include it in their UA stylesheet.
   2.119 +		The following stylesheet uses the ''@counter-style'' rule
   2.120 +		to redefine all of the counter styles defined in CSS 2 and CSS 2.1.
   2.121 +		This stylesheet is normative - 
   2.122 +		UAs must include it in their UA stylesheet
   2.123 +		(or at least act as if these rules were defined at that level).
   2.124  
   2.125  
   2.126  <h3 id='simple-numeric'>
   2.127  Numeric: ''decimal'', ''decimal-leading-zero'', ''cjk-decimal'', ''lower-roman'', ''upper-roman'', ''armenian'', ''georgian'', ''hebrew''</h3>
   2.128  
   2.129 -	<pre style="white-space: pre-wrap;"><bdo>
   2.130 +	<pre class='stylesheet'><bdo>
   2.131  @counter-style <dfn>decimal</dfn> {
   2.132  	type: numeric;
   2.133  	symbols: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9';
   2.134 @@ -990,7 +992,7 @@
   2.135  <h3 id='simple-alphabetic'>
   2.136  Alphabetic: ''lower-alpha'', ''lower-latin'', ''upper-alpha'', ''upper-latin'', ''lower-greek'', ''hiragana'', ''hiragana-iroha'', ''katakana'', ''katakana-iroha''</h3>
   2.137  
   2.138 -	<pre style="white-space: pre-wrap;"><bdo>
   2.139 +	<pre class='stylesheet'><bdo>
   2.140  @counter-style <dfn>lower-alpha</dfn> {
   2.141  	type: alphabetic;
   2.142  	symbols: a b c d e f g h i j k l m n o p q r s t u v w x y z;
   2.143 @@ -1047,11 +1049,20 @@
   2.144  <h3 id='simple-symbolic'>
   2.145  Symbolic: ''disc'', ''circle'', ''square''</h3>
   2.146  
   2.147 -	<p>In addition to the above styles, UAs must define three counter styles named ''disc'', ''circle'', and ''square''.  They must do so either by including the following stylesheet in their UA stylesheet, or by rendering the bullets with a browser-generated image matching the descriptions below the stylesheet.
   2.148 -
   2.149 -	<p>If a browser chooses to render these counter styles by generating images, the images must be sized to attractively fill a 1em by 1em rectangle.  As well, the styles must still be overrideable by a later ''@counter-style'' rule defining a counter style of the same name, as if they were defined by a ''@counter-style'' rule in the UA stylesheet.
   2.150 -
   2.151 -	<pre>
   2.152 +	<p>
   2.153 +		In addition to the above styles, 
   2.154 +		UAs must define three counter styles named ''disc'', ''circle'', and ''square''.  
   2.155 +		They must do so either by including the following stylesheet in their UA stylesheet, 
   2.156 +		or by rendering the bullets with a browser-generated image matching the descriptions below the stylesheet.
   2.157 +
   2.158 +	<p>
   2.159 +		If a browser chooses to render these counter styles by generating images, 
   2.160 +		the images must be sized to attractively fill a 1em by 1em rectangle.  
   2.161 +		As well, the styles must still be overrideable by a later ''@counter-style'' rule 
   2.162 +		defining a counter style of the same name, 
   2.163 +		as if they were defined by a ''@counter-style'' rule in the UA stylesheet.
   2.164 +
   2.165 +	<pre class='stylesheet'>
   2.166  @counter-style <dfn>disc</dfn> {
   2.167  	type: repeating;
   2.168  	symbols: \2022;
   2.169 @@ -1090,38 +1101,54 @@
   2.170  <h2 id='complex-predefined-counters'>
   2.171  Complex Predefined Counter Styles</h2>
   2.172  
   2.173 -	<p>While authors may define their own counter styles using the ''@counter-style''
   2.174 -	rule defined in the Lists spec [[!CSS3LIST]] or rely on the set of 
   2.175 -	<a href='#ua-stylesheet'>predefined counter styles</a>, a few counter styles are
   2.176 -	described by rules that are too complex to be captured by the predefined algorithms.  
   2.177 -	These counter styles are described in this section.
   2.178 -
   2.179 -	<p>The counter styles specified in this section have custom
   2.180 -	<i title='counter-algorithm'>algorithms for generating counter values</i>, but are
   2.181 -	otherwise identical to a counter style defined via the ''@counter-style'' rule, 
   2.182 -	described below.  For example, an author can reference one of these styles in an
   2.183 -	'override' type, reusing the algorithm but swapping out some of the other descriptors.
   2.184 +	<p>
   2.185 +		While authors may define their own counter styles using the ''@counter-style'' rule 
   2.186 +		or rely on the set of <a href='#ua-stylesheet'>predefined counter styles</a>, 
   2.187 +		a few counter styles are described by rules that are too complex to be captured by the predefined algorithms.
   2.188 +		These counter styles are described in this section.
   2.189 +
   2.190 +	<p>
   2.191 +		Some of the counter styles specified in this section 
   2.192 +		have custom <i title='counter-algorithm'>algorithms for generating counter values</i>, 
   2.193 +		but are otherwise identical to a counter style defined via the ''@counter-style'' rule. 
   2.194 +		For example, an author can reference one of these styles in an 'override' type, 
   2.195 +		reusing the algorithm but swapping out some of the other descriptors.
   2.196  
   2.197  
   2.198  <h3 id='complex-cjk'>
   2.199  Longhand East Asian Counter Styles: ''japanese-informal'', ''japanese-formal'', ''korean-hangul-formal'', ''korean-hanja-informal'', ''korean-hanja-formal'', ''simp-chinese-informal'', ''simp-chinese-formal'', ''trad-chinese-informal'', ''trad-chinese-formal''</h3>
   2.200  
   2.201 -	<p>Chinese, Japanese, and Korean have longhand counter styles, which have 
   2.202 -	a structure similar to "one hundred thirteen thousand and twenty-three" in 
   2.203 -	English.  Each has both formal and informal variants. 
   2.204 -	The formal styles are typically used in financial and legal documents, as 
   2.205 -	their characters are more difficult to alter.
   2.206 -
   2.207 -	<p class='issue'>
   2.208 -		Rewrite this intro.
   2.209 +	<p>
   2.210 +		Chinese, Japanese, and Korean have longhand counter styles, 
   2.211 +		which have a structure similar to "one hundred thirteen thousand and twenty-three" in English.  
   2.212 +		Each has both formal and informal variants. 
   2.213 +		The formal styles are typically used in financial and legal documents, 
   2.214 +		as their characters are more difficult to alter into each other.
   2.215 +
   2.216 +	<p>
   2.217 +		Some of the counter styles can,
   2.218 +		if limited to a reasonable range,
   2.219 +		be expressed as ''@counter-style'' rules.
   2.220 +		As such, this section is split into two pieces:
   2.221 +		a required section defining the styles over this limited range,
   2.222 +		and an optional section defining them over a much larger range
   2.223 +		that requires custom algorithms for all of the styles.
   2.224  
   2.225  	<dl>
   2.226  		<dt>japanese-informal
   2.227  		<dd>description and example of this style
   2.228  
   2.229 -		<dt>...
   2.230 +		<dt>japanese-formal
   2.231  		<dd>...
   2.232  
   2.233 +		<dt>korean-hangul-formal
   2.234 +		<dd>...
   2.235 +
   2.236 +		<dt>korean-hanja-informal
   2.237 +		<dd>...
   2.238 +
   2.239 +		<dt>korean-hanja-formal
   2.240 +		<dd>...
   2.241  
   2.242  		<dt>simp-chinese-informal
   2.243  		<dd>The simplified Chinese informal style.
   2.244 @@ -1147,7 +1174,7 @@
   2.245  <h5 id='limited-japanese' class="no-num no-toc">
   2.246  Japanese</h5>
   2.247  
   2.248 -	<pre>
   2.249 +	<pre class='stylesheet'>
   2.250  @counter-style <dfn>japanese-informal</dfn> {
   2.251  	type: additive;
   2.252  	range: 0 9999;
   2.253 @@ -1172,7 +1199,7 @@
   2.254  <h5 id=limited-korean class="no-num no-toc">
   2.255  Korean</h5>
   2.256  
   2.257 -<pre>
   2.258 +	<pre class='stylesheet'>
   2.259  @counter-style <dfn>korean-hangul-formal</dfn> {
   2.260  	type: additive;
   2.261  	range: 0 9999;
   2.262 @@ -1392,7 +1419,7 @@
   2.263  	<div class='issue'>
   2.264  		<p>It's possible, with some fallback hackery, to represent these styles with a @counter-style rule.  For example, the following 11 styles would serve to represent ''simp-chinese-informal'' between 0 and 999:
   2.265  
   2.266 -		<pre>
   2.267 +		<pre class='stylesheet'>
   2.268  @counter-style simp-chinese-informal {
   2.269  	type: non-repeating 101;
   2.270  	fallback: simp-chinese-informal-200;
     3.1 --- a/css3-animations/Overview.html	Fri Sep 21 16:00:07 2012 -0700
     3.2 +++ b/css3-animations/Overview.html	Fri Sep 21 16:01:06 2012 -0700
     3.3 @@ -1,12 +1,26 @@
     3.4  <!DOCTYPE html>
     3.5  
     3.6  <html lang=en>
     3.7 - <head>
     3.8 + <head profile="http://dublincore.org/documents/2008/08/04/dc-html/ ">
     3.9    <title>CSS Animations</title>
    3.10 +
    3.11 +  <link href="http://purl.org/dc/terms/" rel=schema.DC>
    3.12 +  <meta content="CSS Animations" name=DC.title>
    3.13 +  <meta content=text name=DC.type>
    3.14 +  <meta content=2012-09-20 name=DC.issued>
    3.15 +  <meta content="http://dev.w3.org/csswg/css3-animations/" name=DC.creator>
    3.16 +  <meta content=W3C name=DC.publisher>
    3.17 +  <meta content="http://www.w3.org/TR/2012/ED-css3-animations-20120920/"
    3.18 +   name=DC.identifier>
    3.19 +  <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    3.20 +   rel=DC.rights>
    3.21    <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
    3.22    <link href="../default.css" rel=stylesheet type="text/css">
    3.23    <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet
    3.24 -  type="text/css">
    3.25 +   type="text/css">
    3.26 +  <style type="text/css">
    3.27 +		div.prod { margin: 1em 2em; }
    3.28 +	</style>
    3.29  
    3.30   <body>
    3.31    <div class=head> <!--begin-logo-->
    3.32 @@ -15,26 +29,25 @@
    3.33  
    3.34     <h1>CSS Animations</h1>
    3.35  
    3.36 -   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 8 August 2012</h2>
    3.37 +   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 20 September
    3.38 +    2012</h2>
    3.39  
    3.40     <dl>
    3.41      <dt>This version:
    3.42  
    3.43      <dd><a
    3.44 -     href="http://www.w3.org/TR/2012/ED-css3-animations-20120808/">http://dev.w3.org/csswg/css3-animations/</a>
    3.45 -     <!--http://www.w3.org/TR/2012/WD-css3-animations-20120808/-->
    3.46 +     href="http://www.w3.org/TR/2012/ED-css3-animations-20120920/">http://dev.w3.org/csswg/css3-animations/</a>
    3.47 +     <!--http://www.w3.org/TR/2012/WD-css3-animations-20120920/-->
    3.48  
    3.49      <dt>Latest version:
    3.50  
    3.51      <dd><a
    3.52       href="http://www.w3.org/TR/css3-animations/">http://www.w3.org/TR/css3-animations/</a>
    3.53 -     
    3.54  
    3.55      <dt>Editor's draft:
    3.56  
    3.57      <dd><a
    3.58       href="http://dev.w3.org/csswg/css3-animations/">http://dev.w3.org/csswg/css3-animations/</a>
    3.59 -     
    3.60  
    3.61      <dt>Previous version:
    3.62  
    3.63 @@ -571,7 +584,7 @@
    3.64     the lists of values for the other animation properties do not have the
    3.65     same length, the length of the ‘<a href="#animation-name"><code
    3.66     class=property>animation-name</code></a>’ list determines the number of
    3.67 -   items in each list examined when starting transitions. The lists are
    3.68 +   items in each list examined when starting animations. The lists are
    3.69     matched up from the first value: excess values at the end are not used. If
    3.70     one of the other properties doesn't have enough comma-separated values to
    3.71     match the number of values of ‘<a href="#animation-name"><code
    3.72 @@ -594,7 +607,9 @@
    3.73      <tr>
    3.74       <th><a href="#values">Value</a>:
    3.75  
    3.76 -     <td>[ none | IDENT ] [, [ none | IDENT ] ]*
    3.77 +     <td><a href="#single-animation-name">&lt;single-animation-name&gt;</a> [
    3.78 +      ‘<code class=css>,</code>’ <a
    3.79 +      href="#single-animation-name">&lt;single-animation-name&gt;</a> ]*
    3.80  
    3.81      <tr>
    3.82       <th>Initial:
    3.83 @@ -612,9 +627,14 @@
    3.84       <td>no
    3.85  
    3.86      <tr>
    3.87 -     <th>Computed Value:
    3.88 -
    3.89 -     <td>As specified
    3.90 +     <th>Animatable:
    3.91 +
    3.92 +     <td>no
    3.93 +
    3.94 +    <tr>
    3.95 +     <th>Percentages:
    3.96 +
    3.97 +     <td>N/A
    3.98  
    3.99      <tr>
   3.100       <th>Media:
   3.101 @@ -622,9 +642,9 @@
   3.102       <td>visual
   3.103  
   3.104      <tr>
   3.105 -     <th>Animatable:
   3.106 -
   3.107 -     <td>no
   3.108 +     <th>Computed Value:
   3.109 +
   3.110 +     <td>As specified
   3.111  
   3.112      <tr>
   3.113       <th>Canonical Order:
   3.114 @@ -632,51 +652,55 @@
   3.115       <td><abbr title="follows order of property value definition">per
   3.116        grammar</abbr>
   3.117    </table>
   3.118 +
   3.119 +  <div class=prod> <dfn
   3.120 +   id=single-animation-name>&lt;single-animation-name&gt;</dfn> = none |
   3.121 +   &lt;IDENT&gt;</div>
   3.122    <!--
   3.123 -      <p>
   3.124 -        It is possible for elements to have multiple animations running that change the same property or properties. In this case the animations combine in a manner defined by the property. For example, animations on 'opacity' will add together and animations on 'transform' will have their transformation matrices multiplied.
   3.125 -      
   3.126 -      <div class="example">
   3.127 -        <p style="display:none">
   3.128 -          Example(s):
   3.129 -        
   3.130 -        <pre>
   3.131 -        @keyframes 'border-bloat' {
   3.132 -          from {
   3.133 -            border-width: 0;
   3.134 -          }
   3.135 -          to {
   3.136 -            border-width: 10px;
   3.137 -          }
   3.138 -        }
   3.139 -
   3.140 -        @keyframes 'border-diet' {
   3.141 -          from {
   3.142 -            border-width: 4px;
   3.143 -          }
   3.144 -          to {
   3.145 -            border-width: 2px;
   3.146 -          }
   3.147 -        }
   3.148 -
   3.149 -        div {
   3.150 -          animation-name: 'border-bloat', 'border-diet';
   3.151 -          animation-duration: 10s, 4s;
   3.152 -        }
   3.153 -      </pre>
   3.154 -      <p>
   3.155 -      The above example has two animations executing on the same property, 'border-width'. The animations are additive. That is, the 
   3.156 -      resulting value for the property will be the addition of the values from the
   3.157 -      two animations.
   3.158 -      
   3.159 -      <p>
   3.160 -        At time '0s' the element's border will be 4px wide (0px from 'border-bloat' plus 4px from 'border-diet'). 
   3.161 -        At time '4s' the element's border will be 6px wide (4px from 'border-bloat' plus 2px from 'border-diet').
   3.162 -        At time '10s' the element's border will be 10px wide (10px from 'border-bloat' and no addition from
   3.163 -        'border-diet' as it is no longer executing).
   3.164 -      
   3.165 -    </div>
   3.166 -  -->
   3.167 +			<p>
   3.168 +				It is possible for elements to have multiple animations running that change the same property or properties. In this case the animations combine in a manner defined by the property. For example, animations on 'opacity' will add together and animations on 'transform' will have their transformation matrices multiplied.
   3.169 +			
   3.170 +			<div class="example">
   3.171 +				<p style="display:none">
   3.172 +					Example(s):
   3.173 +				
   3.174 +				<pre>
   3.175 +				@keyframes 'border-bloat' {
   3.176 +					from {
   3.177 +						border-width: 0;
   3.178 +					}
   3.179 +					to {
   3.180 +						border-width: 10px;
   3.181 +					}
   3.182 +				}
   3.183 +
   3.184 +				@keyframes 'border-diet' {
   3.185 +					from {
   3.186 +						border-width: 4px;
   3.187 +					}
   3.188 +					to {
   3.189 +						border-width: 2px;
   3.190 +					}
   3.191 +				}
   3.192 +
   3.193 +				div {
   3.194 +					animation-name: 'border-bloat', 'border-diet';
   3.195 +					animation-duration: 10s, 4s;
   3.196 +				}
   3.197 +			</pre>
   3.198 +			<p>
   3.199 +			The above example has two animations executing on the same property, 'border-width'. The animations are additive. That is, the 
   3.200 +			resulting value for the property will be the addition of the values from the
   3.201 +			two animations.
   3.202 +			
   3.203 +			<p>
   3.204 +				At time '0s' the element's border will be 4px wide (0px from 'border-bloat' plus 4px from 'border-diet'). 
   3.205 +				At time '4s' the element's border will be 6px wide (4px from 'border-bloat' plus 2px from 'border-diet').
   3.206 +				At time '10s' the element's border will be 10px wide (10px from 'border-bloat' and no addition from
   3.207 +				'border-diet' as it is no longer executing).
   3.208 +			
   3.209 +		</div>
   3.210 +	-->
   3.211  
   3.212    <h3 id=animation-duration-property><span class=secno>3.3. </span> The ‘<a
   3.213     href="#animation-duration"><code
   3.214 @@ -696,7 +720,7 @@
   3.215      <tr>
   3.216       <th><a href="#values">Value</a>:
   3.217  
   3.218 -     <td> &lt;time&gt; [, &lt;time&gt;]*
   3.219 +     <td> <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
   3.220  
   3.221      <tr>
   3.222       <th>Initial:
   3.223 @@ -714,9 +738,14 @@
   3.224       <td>no
   3.225  
   3.226      <tr>
   3.227 -     <th>Computed Value:
   3.228 -
   3.229 -     <td>as specified
   3.230 +     <th>Animatable:
   3.231 +
   3.232 +     <td>no
   3.233 +
   3.234 +    <tr>
   3.235 +     <th>Percentages:
   3.236 +
   3.237 +     <td>N/A
   3.238  
   3.239      <tr>
   3.240       <th>Media:
   3.241 @@ -724,9 +753,9 @@
   3.242       <td>visual
   3.243  
   3.244      <tr>
   3.245 -     <th>Animatable:
   3.246 -
   3.247 -     <td>no
   3.248 +     <th>Computed Value:
   3.249 +
   3.250 +     <td>as specified
   3.251  
   3.252      <tr>
   3.253       <th>Canonical Order:
   3.254 @@ -769,13 +798,11 @@
   3.255      <tr>
   3.256       <th><a href="#values">Value</a>:
   3.257  
   3.258 -     <td> [ ease | linear | ease-in | ease-out | ease-in-out | step-start |
   3.259 -      step-end | steps(&lt;number&gt; [, [ start | end ] ]?) |
   3.260 -      cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
   3.261 -      &lt;number&gt;) ] [, [ ease | linear | ease-in | ease-out | ease-in-out
   3.262 -      | step-start | step-end | steps(&lt;number&gt; [, [ start | end ] ]?) |
   3.263 -      cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
   3.264 -      &lt;number&gt;) ] ]*
   3.265 +     <td><a
   3.266 +      href="#single-animation-timing-function">&lt;single-animation-timing-function&gt;</a>
   3.267 +      [ ‘<code class=css>,</code>’ <a
   3.268 +      href="#single-animation-timing-function">&lt;single-animation-timing-function&gt;</a>
   3.269 +      ]*
   3.270  
   3.271      <tr>
   3.272       <th>Initial:
   3.273 @@ -793,9 +820,14 @@
   3.274       <td>no
   3.275  
   3.276      <tr>
   3.277 -     <th>Computed Value:
   3.278 -
   3.279 -     <td>as specified
   3.280 +     <th>Animatable:
   3.281 +
   3.282 +     <td>no
   3.283 +
   3.284 +    <tr>
   3.285 +     <th>Percentages:
   3.286 +
   3.287 +     <td>N/A
   3.288  
   3.289      <tr>
   3.290       <th>Media:
   3.291 @@ -803,9 +835,9 @@
   3.292       <td>visual
   3.293  
   3.294      <tr>
   3.295 -     <th>Animatable:
   3.296 -
   3.297 -     <td>no
   3.298 +     <th>Computed Value:
   3.299 +
   3.300 +     <td>as specified
   3.301  
   3.302      <tr>
   3.303       <th>Canonical Order:
   3.304 @@ -814,6 +846,13 @@
   3.305        grammar</abbr>
   3.306    </table>
   3.307  
   3.308 +  <div class=prod> <dfn
   3.309 +   id=single-animation-timing-function>&lt;single-animation-timing-function&gt;</dfn>
   3.310 +   = ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end
   3.311 +   | steps(&lt;number&gt; [, [ start | end ] ]?) |
   3.312 +   cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
   3.313 +   &lt;number&gt;)</div>
   3.314 +
   3.315    <p> For a keyframed animation, the ‘<a
   3.316     href="#animation-timing-function"><code
   3.317     class=property>animation-timing-function</code></a>’ applies between
   3.318 @@ -854,7 +893,11 @@
   3.319      <tr>
   3.320       <th><a href="#values">Value</a>:
   3.321  
   3.322 -     <td> [ infinite | &lt;number&gt; ] [, [ infinite | &lt;number&gt; ] ]*
   3.323 +     <td><a
   3.324 +      href="#single-animation-iteration-count">&lt;single-animation-iteration-count&gt;</a>
   3.325 +      [ ‘<code class=css>,</code>’ <a
   3.326 +      href="#single-animation-iteration-count">&lt;single-animation-iteration-count&gt;</a>
   3.327 +      ]*
   3.328  
   3.329      <tr>
   3.330       <th>Initial:
   3.331 @@ -872,9 +915,14 @@
   3.332       <td>no
   3.333  
   3.334      <tr>
   3.335 -     <th>Computed Value:
   3.336 -
   3.337 -     <td>as specified
   3.338 +     <th>Animatable:
   3.339 +
   3.340 +     <td>no
   3.341 +
   3.342 +    <tr>
   3.343 +     <th>Percentages:
   3.344 +
   3.345 +     <td>N/A
   3.346  
   3.347      <tr>
   3.348       <th>Media:
   3.349 @@ -882,9 +930,9 @@
   3.350       <td>visual
   3.351  
   3.352      <tr>
   3.353 -     <th>Animatable:
   3.354 -
   3.355 -     <td>no
   3.356 +     <th>Computed Value:
   3.357 +
   3.358 +     <td>as specified
   3.359  
   3.360      <tr>
   3.361       <th>Canonical Order:
   3.362 @@ -893,6 +941,10 @@
   3.363        grammar</abbr>
   3.364    </table>
   3.365  
   3.366 +  <div class=prod> <dfn
   3.367 +   id=single-animation-iteration-count>&lt;single-animation-iteration-count&gt;</dfn>
   3.368 +   = infinite | &lt;number&gt;</div>
   3.369 +
   3.370    <h3 id=animation-direction-property><span class=secno>3.6. </span> The
   3.371     ‘<a href="#animation-direction"><code
   3.372     class=property>animation-direction</code></a>’ Property</h3>
   3.373 @@ -914,8 +966,11 @@
   3.374      <tr>
   3.375       <th><a href="#values">Value</a>:
   3.376  
   3.377 -     <td> [ normal | reverse | alternate | alternate-reverse ] [, [ normal |
   3.378 -      reverse | alternate | alternate-reverse ] ]*
   3.379 +     <td><a
   3.380 +      href="#single-animation-direction">&lt;single-animation-direction&gt;</a>
   3.381 +      [ ‘<code class=css>,</code>’ <a
   3.382 +      href="#single-animation-direction">&lt;single-animation-direction&gt;</a>
   3.383 +      ]*
   3.384  
   3.385      <tr>
   3.386       <th>Initial:
   3.387 @@ -933,9 +988,14 @@
   3.388       <td>no
   3.389  
   3.390      <tr>
   3.391 -     <th>Computed Value:
   3.392 -
   3.393 -     <td>as specified
   3.394 +     <th>Animatable:
   3.395 +
   3.396 +     <td>no
   3.397 +
   3.398 +    <tr>
   3.399 +     <th>Percentages:
   3.400 +
   3.401 +     <td>N/A
   3.402  
   3.403      <tr>
   3.404       <th>Media:
   3.405 @@ -943,9 +1003,9 @@
   3.406       <td>visual
   3.407  
   3.408      <tr>
   3.409 -     <th>Animatable:
   3.410 -
   3.411 -     <td>no
   3.412 +     <th>Computed Value:
   3.413 +
   3.414 +     <td>as specified
   3.415  
   3.416      <tr>
   3.417       <th>Canonical Order:
   3.418 @@ -954,6 +1014,10 @@
   3.419        grammar</abbr>
   3.420    </table>
   3.421  
   3.422 +  <div class=prod> <dfn
   3.423 +   id=single-animation-direction>&lt;single-animation-direction&gt;</dfn> =
   3.424 +   normal | reverse | alternate | alternate-reverse</div>
   3.425 +
   3.426    <dl>
   3.427     <dt><dfn id=normal>normal</dfn>
   3.428  
   3.429 @@ -1005,7 +1069,11 @@
   3.430      <tr>
   3.431       <th><a href="#values">Value</a>:
   3.432  
   3.433 -     <td> [ running | paused ] [, [ running | paused ] ]*
   3.434 +     <td><a
   3.435 +      href="#single-animation-play-state">&lt;single-animation-play-state&gt;</a>
   3.436 +      [ ‘<code class=css>,</code>’ <a
   3.437 +      href="#single-animation-play-state">&lt;single-animation-play-state&gt;</a>
   3.438 +      ]*
   3.439  
   3.440      <tr>
   3.441       <th>Initial:
   3.442 @@ -1023,9 +1091,14 @@
   3.443       <td>no
   3.444  
   3.445      <tr>
   3.446 -     <th>Computed Value:
   3.447 -
   3.448 -     <td>as specified
   3.449 +     <th>Animatable:
   3.450 +
   3.451 +     <td>no
   3.452 +
   3.453 +    <tr>
   3.454 +     <th>Percentages:
   3.455 +
   3.456 +     <td>N/A
   3.457  
   3.458      <tr>
   3.459       <th>Media:
   3.460 @@ -1033,9 +1106,9 @@
   3.461       <td>visual
   3.462  
   3.463      <tr>
   3.464 -     <th>Animatable:
   3.465 -
   3.466 -     <td>no
   3.467 +     <th>Computed Value:
   3.468 +
   3.469 +     <td>as specified
   3.470  
   3.471      <tr>
   3.472       <th>Canonical Order:
   3.473 @@ -1044,6 +1117,10 @@
   3.474        grammar</abbr>
   3.475    </table>
   3.476  
   3.477 +  <div class=prod> <dfn
   3.478 +   id=single-animation-play-state>&lt;single-animation-play-state&gt;</dfn> =
   3.479 +   running | paused</div>
   3.480 +
   3.481    <h3 id=animation-delay-property><span class=secno>3.8. </span> The ‘<a
   3.482     href="#animation-delay"><code class=property>animation-delay</code></a>’
   3.483     Property</h3>
   3.484 @@ -1078,7 +1155,7 @@
   3.485      <tr>
   3.486       <th><a href="#values">Value</a>:
   3.487  
   3.488 -     <td> &lt;time&gt; [, &lt;time&gt;]*
   3.489 +     <td> <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
   3.490  
   3.491      <tr>
   3.492       <th>Initial:
   3.493 @@ -1096,9 +1173,14 @@
   3.494       <td>no
   3.495  
   3.496      <tr>
   3.497 -     <th>Computed Value:
   3.498 -
   3.499 -     <td>as specified
   3.500 +     <th>Animatable:
   3.501 +
   3.502 +     <td>no
   3.503 +
   3.504 +    <tr>
   3.505 +     <th>Percentages:
   3.506 +
   3.507 +     <td>N/A
   3.508  
   3.509      <tr>
   3.510       <th>Media:
   3.511 @@ -1106,9 +1188,9 @@
   3.512       <td>visual
   3.513  
   3.514      <tr>
   3.515 -     <th>Animatable:
   3.516 -
   3.517 -     <td>no
   3.518 +     <th>Computed Value:
   3.519 +
   3.520 +     <td>as specified
   3.521  
   3.522      <tr>
   3.523       <th>Canonical Order:
   3.524 @@ -1191,8 +1273,11 @@
   3.525      <tr>
   3.526       <th><a href="#values">Value</a>:
   3.527  
   3.528 -     <td> [ none | forwards | backwards | both ] [, [ none | forwards |
   3.529 -      backwards | both ] ]*
   3.530 +     <td><a
   3.531 +      href="#single-animation-fill-mode">&lt;single-animation-fill-mode&gt;</a>
   3.532 +      [ ‘<code class=css>,</code>’ <a
   3.533 +      href="#single-animation-fill-mode">&lt;single-animation-fill-mode&gt;</a>
   3.534 +      ]*
   3.535  
   3.536      <tr>
   3.537       <th>Initial:
   3.538 @@ -1210,9 +1295,14 @@
   3.539       <td>no
   3.540  
   3.541      <tr>
   3.542 -     <th>Computed Value:
   3.543 -
   3.544 -     <td>as specified
   3.545 +     <th>Animatable:
   3.546 +
   3.547 +     <td>no
   3.548 +
   3.549 +    <tr>
   3.550 +     <th>Percentages:
   3.551 +
   3.552 +     <td>N/A
   3.553  
   3.554      <tr>
   3.555       <th>Media:
   3.556 @@ -1220,9 +1310,9 @@
   3.557       <td>visual
   3.558  
   3.559      <tr>
   3.560 -     <th>Animatable:
   3.561 -
   3.562 -     <td>no
   3.563 +     <th>Computed Value:
   3.564 +
   3.565 +     <td>as specified
   3.566  
   3.567      <tr>
   3.568       <th>Canonical Order:
   3.569 @@ -1231,6 +1321,10 @@
   3.570        grammar</abbr>
   3.571    </table>
   3.572  
   3.573 +  <div class=prod> <dfn
   3.574 +   id=single-animation-fill-mode>&lt;single-animation-fill-mode&gt;</dfn> =
   3.575 +   none | forwards | backwards | both</div>
   3.576 +
   3.577    <h3 id=animation-shorthand-property><span class=secno>3.10. </span> The
   3.578     ‘<a href="#animation"><code class=property>animation</code></a>’
   3.579     Shorthand Property</h3>
   3.580 @@ -1239,18 +1333,6 @@
   3.581     class=property>animation</code></a>’ shorthand property combines seven
   3.582     of the animation properties into a single property.
   3.583  
   3.584 -  <p> Note that order is important in this property. The first value that can
   3.585 -   be parsed as a <var>&lt;time></var> is assigned to the ‘<a
   3.586 -   href="#animation-duration"><code
   3.587 -   class=property>animation-duration</code></a>’. The second value that can
   3.588 -   be parsed as a <var>&lt;time></var> is assigned to ‘<a
   3.589 -   href="#animation-delay"><code
   3.590 -   class=property>animation-delay</code></a>’.
   3.591 -
   3.592 -  <p class=issue> An alternative proposal is to accept the font shorthand
   3.593 -   approach of using a "/" character between the values of the same type.
   3.594 -   e.g. 2s/4s would mean a duration of 2 seconds and a delay of 4 seconds.
   3.595 -
   3.596    <table class=propdef>
   3.597     <tbody>
   3.598      <tr>
   3.599 @@ -1261,13 +1343,9 @@
   3.600      <tr>
   3.601       <th><a href="#values">Value</a>:
   3.602  
   3.603 -     <td> [ &lt;animation-name&gt; || &lt;animation-duration&gt; ||
   3.604 -      &lt;animation-timing-function&gt; || &lt;animation-delay&gt; ||
   3.605 -      &lt;animation-iteration-count&gt; || &lt;animation-direction&gt; ||
   3.606 -      &lt;animation-fill-mode&gt; ] [, [ &lt;animation-name&gt; ||
   3.607 -      &lt;animation-duration&gt; || &lt;animation-timing-function&gt; ||
   3.608 -      &lt;animation-delay&gt; || &lt;animation-iteration-count&gt; ||
   3.609 -      &lt;animation-direction&gt; || &lt;animation-fill-mode&gt; ] ]*
   3.610 +     <td><a href="#single-animation">&lt;single-animation&gt;</a> [ ‘<code
   3.611 +      class=css>,</code>’ <a
   3.612 +      href="#single-animation">&lt;single-animation&gt;</a> ]*
   3.613  
   3.614      <tr>
   3.615       <th>Initial:
   3.616 @@ -1285,9 +1363,14 @@
   3.617       <td>see individual properties
   3.618  
   3.619      <tr>
   3.620 -     <th>Computed Value:
   3.621 -
   3.622 -     <td>see individual properties
   3.623 +     <th>Animatable:
   3.624 +
   3.625 +     <td>no
   3.626 +
   3.627 +    <tr>
   3.628 +     <th>Percentages:
   3.629 +
   3.630 +     <td>N/A
   3.631  
   3.632      <tr>
   3.633       <th>Media:
   3.634 @@ -1295,9 +1378,9 @@
   3.635       <td>visual
   3.636  
   3.637      <tr>
   3.638 -     <th>Animatable:
   3.639 -
   3.640 -     <td>no
   3.641 +     <th>Computed Value:
   3.642 +
   3.643 +     <td>see individual properties
   3.644  
   3.645      <tr>
   3.646       <th>Canonical Order:
   3.647 @@ -1306,6 +1389,25 @@
   3.648        grammar</abbr>
   3.649    </table>
   3.650  
   3.651 +  <div class=prod> <dfn id=single-animation>&lt;single-animation&gt;</dfn> =
   3.652 +   &lt;single-animation-name&gt; || <span>&lt;time&gt;</span> ||
   3.653 +   &lt;single-animation-timing-function&gt; || <span>&lt;time&gt;</span> ||
   3.654 +   &lt;single-animation-iteration-count&gt; ||
   3.655 +   &lt;single-animation-direction&gt; || &lt;single-animation-fill-mode&gt;</div>
   3.656 +
   3.657 +  <p> Note that order is important within the items in this property: the
   3.658 +   first value that can be parsed as a <var>&lt;time&gt;</var> is assigned to
   3.659 +   the animation-duration, and the second value that can be parsed as a
   3.660 +   <var>&lt;time&gt;</var> is assigned to animation-delay.
   3.661 +
   3.662 +  <p class=issue> An alternative proposal is to accept the font shorthand
   3.663 +   approach of using a "/" character between the values of the same type.
   3.664 +   e.g. 2s/4s would mean a duration of 2 seconds and a delay of 4 seconds.
   3.665 +
   3.666 +  <p class=issue> Need to also explain how order is important in terms of
   3.667 +   animation-name versus keywords, and probably also adjust the canonical
   3.668 +   order to match.
   3.669 +
   3.670    <h2 id=animation-events><span class=secno>4. </span> Animation Events</h2>
   3.671  
   3.672    <p> Several animation related events are available through the <a
   3.673 @@ -1402,7 +1504,6 @@
   3.674     <dt><code>cancelableArg</code> of type <code>boolean</code>
   3.675  
   3.676     <dd> Specifies whether or not the event's default action can be prevented.
   3.677 -    
   3.678  
   3.679     <dt><code>animationNameArg</code> of type <code>DOMString</code>
   3.680  
   3.681 @@ -1518,7 +1619,6 @@
   3.682      floating point number between 0 and 1. If the value in the CSS style is
   3.683      ‘<code class=css>from</code>’ this value will be 0, and if the value
   3.684      in the CSS style is ‘<code class=css>to</code>’ this value will be 1.
   3.685 -    
   3.686  
   3.687     <dt><code><dfn id=CSSKeyframeRule-style>style</dfn></code> of type
   3.688      <code>CSSStyleDeclaration</code>
   3.689 @@ -1625,8 +1725,8 @@
   3.690  
   3.691      <h2 id=acknowledgments><span class=secno>6. </span>Acknowledgments</h2>
   3.692  
   3.693 -    <p>Thanks especially to the feedback from Tab Atkins, Estelle Weyl, and
   3.694 -     all the rest of the <a
   3.695 +    <p>Thanks especially to the feedback from Tab Atkins, Carine Bournez,
   3.696 +     Estelle Weyl, and all the rest of the <a
   3.697       href="http://lists.w3.org/Archives/Public/www-style/">www-style</a>
   3.698       community.
   3.699  
   3.700 @@ -1646,7 +1746,7 @@
   3.701        Transitions.</cite></a> 3 April 2012. W3C Working Draft. (Work in
   3.702        progress.) URL: <a
   3.703        href="http://www.w3.org/TR/2012/WD-css3-transitions-20120403/">http://www.w3.org/TR/2012/WD-css3-transitions-20120403/</a>
   3.704 -      </dd>
   3.705 +     </dd>
   3.706       <!---->
   3.707      </dl>
   3.708      <!--end-normative-->
   3.709 @@ -1689,7 +1789,7 @@
   3.710  
   3.711         <td>no
   3.712  
   3.713 -       <td>
   3.714 +       <td>N/A
   3.715  
   3.716         <td>visual
   3.717  
   3.718 @@ -1697,8 +1797,8 @@
   3.719         <th><a class=property
   3.720          href="#animation-direction">animation-direction</a>
   3.721  
   3.722 -       <td>[ normal | reverse | alternate | alternate-reverse ] [, [ normal |
   3.723 -        reverse | alternate | alternate-reverse ] ]*
   3.724 +       <td>&lt;single-animation-direction&gt; [ ‘,’
   3.725 +        &lt;single-animation-direction&gt; ]*
   3.726  
   3.727         <td>‘normal’
   3.728  
   3.729 @@ -1706,7 +1806,7 @@
   3.730  
   3.731         <td>no
   3.732  
   3.733 -       <td>
   3.734 +       <td>N/A
   3.735  
   3.736         <td>visual
   3.737  
   3.738 @@ -1722,7 +1822,7 @@
   3.739  
   3.740         <td>no
   3.741  
   3.742 -       <td>
   3.743 +       <td>N/A
   3.744  
   3.745         <td>visual
   3.746  
   3.747 @@ -1730,8 +1830,8 @@
   3.748         <th><a class=property
   3.749          href="#animation-fill-mode">animation-fill-mode</a>
   3.750  
   3.751 -       <td>[ none | forwards | backwards | both ] [, [ none | forwards |
   3.752 -        backwards | both ] ]*
   3.753 +       <td>&lt;single-animation-fill-mode&gt; [ ‘,’
   3.754 +        &lt;single-animation-fill-mode&gt; ]*
   3.755  
   3.756         <td>‘none’
   3.757  
   3.758 @@ -1739,7 +1839,7 @@
   3.759  
   3.760         <td>no
   3.761  
   3.762 -       <td>
   3.763 +       <td>N/A
   3.764  
   3.765         <td>visual
   3.766  
   3.767 @@ -1747,7 +1847,8 @@
   3.768         <th><a class=property
   3.769          href="#animation-iteration-count">animation-iteration-count</a>
   3.770  
   3.771 -       <td>[ infinite | &lt;number&gt; ] [, [ infinite | &lt;number&gt; ] ]*
   3.772 +       <td>&lt;single-animation-iteration-count&gt; [ ‘,’
   3.773 +        &lt;single-animation-iteration-count&gt; ]*
   3.774  
   3.775         <td>‘1’
   3.776  
   3.777 @@ -1755,14 +1856,15 @@
   3.778  
   3.779         <td>no
   3.780  
   3.781 -       <td>
   3.782 +       <td>N/A
   3.783  
   3.784         <td>visual
   3.785  
   3.786        <tr>
   3.787         <th><a class=property href="#animation-name">animation-name</a>
   3.788  
   3.789 -       <td>[ none | IDENT ] [, [ none | IDENT ] ]*
   3.790 +       <td>&lt;single-animation-name&gt; [ ‘,’
   3.791 +        &lt;single-animation-name&gt; ]*
   3.792  
   3.793         <td>‘none’
   3.794  
   3.795 @@ -1770,7 +1872,7 @@
   3.796  
   3.797         <td>no
   3.798  
   3.799 -       <td>
   3.800 +       <td>N/A
   3.801  
   3.802         <td>visual
   3.803  
   3.804 @@ -1778,7 +1880,8 @@
   3.805         <th><a class=property
   3.806          href="#animation-play-state">animation-play-state</a>
   3.807  
   3.808 -       <td>[ running | paused ] [, [ running | paused ] ]*
   3.809 +       <td>&lt;single-animation-play-state&gt; [ ‘,’
   3.810 +        &lt;single-animation-play-state&gt; ]*
   3.811  
   3.812         <td>‘running’
   3.813  
   3.814 @@ -1786,20 +1889,14 @@
   3.815  
   3.816         <td>no
   3.817  
   3.818 -       <td>
   3.819 +       <td>N/A
   3.820  
   3.821         <td>visual
   3.822  
   3.823        <tr>
   3.824         <th><a class=property href="#animation">animation</a>
   3.825  
   3.826 -       <td>[ &lt;animation-name&gt; || &lt;animation-duration&gt; ||
   3.827 -        &lt;animation-timing-function&gt; || &lt;animation-delay&gt; ||
   3.828 -        &lt;animation-iteration-count&gt; || &lt;animation-direction&gt; ||
   3.829 -        &lt;animation-fill-mode&gt; ] [, [ &lt;animation-name&gt; ||
   3.830 -        &lt;animation-duration&gt; || &lt;animation-timing-function&gt; ||
   3.831 -        &lt;animation-delay&gt; || &lt;animation-iteration-count&gt; ||
   3.832 -        &lt;animation-direction&gt; || &lt;animation-fill-mode&gt; ] ]*
   3.833 +       <td>&lt;single-animation&gt; [ ‘,’ &lt;single-animation&gt; ]*
   3.834  
   3.835         <td>see individual properties
   3.836  
   3.837 @@ -1807,7 +1904,7 @@
   3.838  
   3.839         <td>see individual properties
   3.840  
   3.841 -       <td>
   3.842 +       <td>N/A
   3.843  
   3.844         <td>visual
   3.845  
   3.846 @@ -1815,13 +1912,8 @@
   3.847         <th><a class=property
   3.848          href="#animation-timing-function">animation-timing-function</a>
   3.849  
   3.850 -       <td>[ ease | linear | ease-in | ease-out | ease-in-out | step-start |
   3.851 -        step-end | steps(&lt;number&gt; [, [ start | end ] ]?) |
   3.852 -        cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
   3.853 -        &lt;number&gt;) ] [, [ ease | linear | ease-in | ease-out |
   3.854 -        ease-in-out | step-start | step-end | steps(&lt;number&gt; [, [ start
   3.855 -        | end ] ]?) | cubic-bezier(&lt;number&gt;, &lt;number&gt;,
   3.856 -        &lt;number&gt;, &lt;number&gt;) ] ]*
   3.857 +       <td>&lt;single-animation-timing-function&gt; [ ‘,’
   3.858 +        &lt;single-animation-timing-function&gt; ]*
   3.859  
   3.860         <td>‘ease’
   3.861  
   3.862 @@ -1829,7 +1921,7 @@
   3.863  
   3.864         <td>no
   3.865  
   3.866 -       <td>
   3.867 +       <td>N/A
   3.868  
   3.869         <td>visual
   3.870      </table>
   3.871 @@ -1927,6 +2019,32 @@
   3.872  
   3.873       <li>reverse, <a href="#reverse" title=reverse><strong>3.6.</strong></a>
   3.874  
   3.875 +     <li>&lt;single-animation&gt;, <a href="#single-animation"
   3.876 +      title="&lt;single-animation&gt;"><strong>3.10.</strong></a>
   3.877 +
   3.878 +     <li>&lt;single-animation-direction&gt;, <a
   3.879 +      href="#single-animation-direction"
   3.880 +      title="&lt;single-animation-direction&gt;"><strong>3.6.</strong></a>
   3.881 +
   3.882 +     <li>&lt;single-animation-fill-mode&gt;, <a
   3.883 +      href="#single-animation-fill-mode"
   3.884 +      title="&lt;single-animation-fill-mode&gt;"><strong>3.9.</strong></a>
   3.885 +
   3.886 +     <li>&lt;single-animation-iteration-count&gt;, <a
   3.887 +      href="#single-animation-iteration-count"
   3.888 +      title="&lt;single-animation-iteration-count&gt;"><strong>3.5.</strong></a>
   3.889 +
   3.890 +     <li>&lt;single-animation-name&gt;, <a href="#single-animation-name"
   3.891 +      title="&lt;single-animation-name&gt;"><strong>3.2.</strong></a>
   3.892 +
   3.893 +     <li>&lt;single-animation-play-state&gt;, <a
   3.894 +      href="#single-animation-play-state"
   3.895 +      title="&lt;single-animation-play-state&gt;"><strong>3.7.</strong></a>
   3.896 +
   3.897 +     <li>&lt;single-animation-timing-function&gt;, <a
   3.898 +      href="#single-animation-timing-function"
   3.899 +      title="&lt;single-animation-timing-function&gt;"><strong>3.4.</strong></a>
   3.900 +
   3.901       <li>style, <a href="#CSSKeyframeRule-style"
   3.902        title=style><strong>5.2.2.</strong></a>
   3.903      </ul>
     4.1 --- a/css3-animations/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
     4.2 +++ b/css3-animations/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
     4.3 @@ -5,6 +5,9 @@
     4.4  	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     4.5  	<link rel="stylesheet" type="text/css" href="../default.css">
     4.6  	<link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css">
     4.7 +	<style type="text/css">
     4.8 +		div.prod { margin: 1em 2em; }
     4.9 +	</style>
    4.10  </head>
    4.11  
    4.12  <body>
    4.13 @@ -425,7 +428,7 @@
    4.14  		should have a corresponding value for the other animation properties listed below. 
    4.15  		If the lists of values for the other animation properties do not have the same length, 
    4.16  		the length of the 'animation-name' list 
    4.17 -		determines the number of items in each list examined when starting transitions.  
    4.18 +		determines the number of items in each list examined when starting animations.  
    4.19  		The lists are matched up from the first value: 
    4.20  		excess values at the end are not used.  
    4.21  		If one of the other properties doesn't have enough comma-separated values to match the number of values of 'animation-name', 
    4.22 @@ -441,7 +444,7 @@
    4.23  			<td><dfn>animation-name</dfn>
    4.24  		<tr>
    4.25  			<th><a href="#values">Value</a>:
    4.26 -			<td>[ none | IDENT ] [, [ none | IDENT ] ]*
    4.27 +			<td><span>&lt;single-animation-name&gt;</span> [ ',' <span>&lt;single-animation-name&gt;</span> ]*
    4.28  		<tr>
    4.29  			<th>Initial:
    4.30  			<td>''none''
    4.31 @@ -452,19 +455,26 @@
    4.32  			<th>Inherited:
    4.33  			<td>no
    4.34  		<tr>
    4.35 -			<th>Computed Value:
    4.36 -			<td>As specified
    4.37 +			<th>Animatable:
    4.38 +			<td>no
    4.39 +		<tr>
    4.40 +			<th>Percentages:
    4.41 +			<td>N/A
    4.42  		<tr>
    4.43  			<th>Media:
    4.44  			<td>visual
    4.45  		<tr>
    4.46 -			<th>Animatable:
    4.47 -			<td>no
    4.48 +			<th>Computed Value:
    4.49 +			<td>As specified
    4.50  		<tr>
    4.51  			<th>Canonical Order:
    4.52  			<td><abbr title="follows order of property value definition">per grammar</abbr>
    4.53  	</table>
    4.54  
    4.55 +	<div class="prod">
    4.56 +		<dfn id="single-animation-name">&lt;single-animation-name&gt;</dfn> = none | &lt;IDENT&gt;
    4.57 +	</div>
    4.58 +
    4.59  			<!--
    4.60  			<p>
    4.61  				It is possible for elements to have multiple animations running that change the same property or properties. In this case the animations combine in a manner defined by the property. For example, animations on 'opacity' will add together and animations on 'transform' will have their transformation matrices multiplied.
    4.62 @@ -525,7 +535,7 @@
    4.63  			<td><dfn>animation-duration</dfn>
    4.64  		<tr>
    4.65  			<th><a href="#values">Value</a>:
    4.66 -			<td> &lt;time&gt; [, &lt;time&gt;]*
    4.67 +			<td> <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
    4.68  		<tr>
    4.69  			<th>Initial:
    4.70  			<td>''0s''
    4.71 @@ -536,14 +546,17 @@
    4.72  			<th>Inherited:
    4.73  			<td>no
    4.74  		<tr>
    4.75 -			<th>Computed Value:
    4.76 -			<td>as specified
    4.77 +			<th>Animatable:
    4.78 +			<td>no
    4.79 +		<tr>
    4.80 +			<th>Percentages:
    4.81 +			<td>N/A
    4.82  		<tr>
    4.83  			<th>Media:
    4.84  			<td>visual
    4.85  		<tr>
    4.86 -			<th>Animatable:
    4.87 -			<td>no
    4.88 +			<th>Computed Value:
    4.89 +			<td>as specified
    4.90  		<tr>
    4.91  			<th>Canonical Order:
    4.92  			<td><abbr title="follows order of property value definition">per grammar</abbr>
    4.93 @@ -574,23 +587,7 @@
    4.94  			<td><dfn>animation-timing-function</dfn>
    4.95  		<tr>
    4.96  			<th><a href="#values">Value</a>:
    4.97 -			<td>
    4.98 -					[ 
    4.99 -						ease | linear | ease-in | ease-out | ease-in-out | 
   4.100 -						step-start | step-end | 
   4.101 -						steps(&lt;number&gt; [, [ start | end ] ]?) |
   4.102 -		  				cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
   4.103 -		  				&lt;number&gt;) 
   4.104 -	      			] 
   4.105 -      			[, 
   4.106 -      				[ 
   4.107 -	      				ease | linear | ease-in | ease-out | ease-in-out | 
   4.108 -						step-start | step-end | 
   4.109 -						steps(&lt;number&gt; [, [ start | end ] ]?) |
   4.110 -		  				cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
   4.111 -		  				&lt;number&gt;) 
   4.112 -		  			] 		  			
   4.113 -      			]*
   4.114 +			<td><span>&lt;single-animation-timing-function&gt;</span> [ ',' <span>&lt;single-animation-timing-function&gt;</span> ]*
   4.115  		<tr>
   4.116  			<th>Initial:
   4.117  			<td>''ease''
   4.118 @@ -601,19 +598,31 @@
   4.119  			<th>Inherited:
   4.120  			<td>no
   4.121  		<tr>
   4.122 -			<th>Computed Value:
   4.123 -			<td>as specified
   4.124 +			<th>Animatable:
   4.125 +			<td>no
   4.126 +		<tr>
   4.127 +			<th>Percentages:
   4.128 +			<td>N/A
   4.129  		<tr>
   4.130  			<th>Media:
   4.131  			<td>visual
   4.132  		<tr>
   4.133 -			<th>Animatable:
   4.134 -			<td>no
   4.135 +			<th>Computed Value:
   4.136 +			<td>as specified
   4.137  		<tr>
   4.138  			<th>Canonical Order:
   4.139  			<td><abbr title="follows order of property value definition">per grammar</abbr>
   4.140  	</table>
   4.141  
   4.142 +	<div class="prod">
   4.143 +		<dfn id="single-animation-timing-function">&lt;single-animation-timing-function&gt;</dfn> =
   4.144 +						ease | linear | ease-in | ease-out | ease-in-out |
   4.145 +						step-start | step-end | 
   4.146 +						steps(&lt;number&gt; [, [ start | end ] ]?) |
   4.147 +						cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
   4.148 +						&lt;number&gt;) 
   4.149 +	</div>
   4.150 +
   4.151  	<p>
   4.152  		For a keyframed animation, 
   4.153  		the 'animation-timing-function' applies between keyframes, 
   4.154 @@ -645,8 +654,7 @@
   4.155  			<td><dfn>animation-iteration-count</dfn>
   4.156  		<tr>
   4.157  			<th><a href="#values">Value</a>:
   4.158 -			<td>   [ infinite | &lt;number&gt; ] 
   4.159 -				[, [ infinite | &lt;number&gt; ] ]*
   4.160 +			<td><span>&lt;single-animation-iteration-count&gt;</span> [ ',' <span>&lt;single-animation-iteration-count&gt;</span> ]*
   4.161  		<tr>
   4.162  			<th>Initial:
   4.163  			<td>''1''
   4.164 @@ -657,19 +665,26 @@
   4.165  			<th>Inherited:
   4.166  			<td>no
   4.167  		<tr>
   4.168 -			<th>Computed Value:
   4.169 -			<td>as specified
   4.170 +			<th>Animatable:
   4.171 +			<td>no
   4.172 +		<tr>
   4.173 +			<th>Percentages:
   4.174 +			<td>N/A
   4.175  		<tr>
   4.176  			<th>Media:
   4.177  			<td>visual
   4.178  		<tr>
   4.179 -			<th>Animatable:
   4.180 -			<td>no
   4.181 +			<th>Computed Value:
   4.182 +			<td>as specified
   4.183  		<tr>
   4.184  			<th>Canonical Order:
   4.185  			<td><abbr title="follows order of property value definition">per grammar</abbr>
   4.186  	</table>
   4.187  
   4.188 +	<div class="prod">
   4.189 +		<dfn id="single-animation-iteration-count">&lt;single-animation-iteration-count&gt;</dfn> =
   4.190 +				infinite | &lt;number&gt;
   4.191 +	</div>
   4.192  
   4.193  <h3 id="animation-direction-property">
   4.194  The 'animation-direction' Property</h3>
   4.195 @@ -685,8 +700,7 @@
   4.196  			<td><dfn>animation-direction</dfn>
   4.197  		<tr>
   4.198  			<th><a href="#values">Value</a>:
   4.199 -			<td>   [ normal | reverse | alternate | alternate-reverse ] 
   4.200 -				[, [ normal | reverse | alternate | alternate-reverse ] ]*
   4.201 +			<td><span>&lt;single-animation-direction&gt;</span> [ ',' <span>&lt;single-animation-direction&gt;</span> ]*
   4.202  		<tr>
   4.203  			<th>Initial:
   4.204  			<td>''normal''
   4.205 @@ -697,19 +711,27 @@
   4.206  			<th>Inherited:
   4.207  			<td>no
   4.208  		<tr>
   4.209 -			<th>Computed Value:
   4.210 -			<td>as specified
   4.211 +			<th>Animatable:
   4.212 +			<td>no
   4.213 +		<tr>
   4.214 +			<th>Percentages:
   4.215 +			<td>N/A
   4.216  		<tr>
   4.217  			<th>Media:
   4.218  			<td>visual
   4.219  		<tr>
   4.220 -			<th>Animatable:
   4.221 -			<td>no
   4.222 +			<th>Computed Value:
   4.223 +			<td>as specified
   4.224  		<tr>
   4.225  			<th>Canonical Order:
   4.226  			<td><abbr title="follows order of property value definition">per grammar</abbr>
   4.227  	</table>
   4.228  
   4.229 +	<div class="prod">
   4.230 +		<dfn id="single-animation-direction">&lt;single-animation-direction&gt;</dfn> =
   4.231 +				normal | reverse | alternate | alternate-reverse
   4.232 +	</div>
   4.233 +
   4.234  	<dl>
   4.235  		<dt><dfn>normal</dfn>
   4.236  		<dd>
   4.237 @@ -754,8 +776,7 @@
   4.238  			<td><dfn>animation-play-state</dfn>
   4.239  		<tr>
   4.240  			<th><a href="#values">Value</a>:
   4.241 -			<td>   [ running | paused ] 
   4.242 -				[, [ running | paused ] ]*
   4.243 +			<td><span>&lt;single-animation-play-state&gt;</span> [ ',' <span>&lt;single-animation-play-state&gt;</span> ]*
   4.244  		<tr>
   4.245  			<th>Initial:
   4.246  			<td>''running''
   4.247 @@ -766,19 +787,26 @@
   4.248  			<th>Inherited:
   4.249  			<td>no
   4.250  		<tr>
   4.251 -			<th>Computed Value:
   4.252 -			<td>as specified
   4.253 +			<th>Animatable:
   4.254 +			<td>no
   4.255 +		<tr>
   4.256 +			<th>Percentages:
   4.257 +			<td>N/A
   4.258  		<tr>
   4.259  			<th>Media:
   4.260  			<td>visual
   4.261  		<tr>
   4.262 -			<th>Animatable:
   4.263 -			<td>no
   4.264 +			<th>Computed Value:
   4.265 +			<td>as specified
   4.266  		<tr>
   4.267  			<th>Canonical Order:
   4.268  			<td><abbr title="follows order of property value definition">per grammar</abbr>
   4.269  	</table>
   4.270  
   4.271 +	<div class="prod">
   4.272 +		<dfn id="single-animation-play-state">&lt;single-animation-play-state&gt;</dfn> =
   4.273 +				running | paused
   4.274 +	</div>
   4.275  
   4.276  <h3 id="animation-delay-property">
   4.277  The 'animation-delay' Property</h3>
   4.278 @@ -804,7 +832,7 @@
   4.279  			<td><dfn>animation-delay</dfn>
   4.280  		<tr>
   4.281  			<th><a href="#values">Value</a>:
   4.282 -			<td> &lt;time&gt; [, &lt;time&gt;]*
   4.283 +			<td> <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
   4.284  		<tr>
   4.285  			<th>Initial:
   4.286  			<td>''0s''
   4.287 @@ -815,14 +843,17 @@
   4.288  			<th>Inherited:
   4.289  			<td>no
   4.290  		<tr>
   4.291 -			<th>Computed Value:
   4.292 -			<td>as specified
   4.293 +			<th>Animatable:
   4.294 +			<td>no
   4.295 +		<tr>
   4.296 +			<th>Percentages:
   4.297 +			<td>N/A
   4.298  		<tr>
   4.299  			<th>Media:
   4.300  			<td>visual
   4.301  		<tr>
   4.302 -			<th>Animatable:
   4.303 -			<td>no
   4.304 +			<th>Computed Value:
   4.305 +			<td>as specified
   4.306  		<tr>
   4.307  			<th>Canonical Order:
   4.308  			<td><abbr title="follows order of property value definition">per grammar</abbr>
   4.309 @@ -880,8 +911,7 @@
   4.310  			<td><dfn>animation-fill-mode</dfn>
   4.311  		<tr>
   4.312  			<th><a href="#values">Value</a>:
   4.313 -			<td>   [ none | forwards | backwards | both ] 
   4.314 -				[, [ none | forwards | backwards | both ] ]*
   4.315 +			<td><span>&lt;single-animation-fill-mode&gt;</span> [ ',' <span>&lt;single-animation-fill-mode&gt;</span> ]*
   4.316  		<tr>
   4.317  			<th>Initial:
   4.318  			<td>''none''
   4.319 @@ -892,19 +922,26 @@
   4.320  			<th>Inherited:
   4.321  			<td>no
   4.322  		<tr>
   4.323 -			<th>Computed Value:
   4.324 -			<td>as specified
   4.325 +			<th>Animatable:
   4.326 +			<td>no
   4.327 +		<tr>
   4.328 +			<th>Percentages:
   4.329 +			<td>N/A
   4.330  		<tr>
   4.331  			<th>Media:
   4.332  			<td>visual
   4.333  		<tr>
   4.334 -			<th>Animatable:
   4.335 -			<td>no
   4.336 +			<th>Computed Value:
   4.337 +			<td>as specified
   4.338  		<tr>
   4.339  			<th>Canonical Order:
   4.340  			<td><abbr title="follows order of property value definition">per grammar</abbr>
   4.341  	</table>
   4.342  
   4.343 +	<div class="prod">
   4.344 +		<dfn id="single-animation-fill-mode">&lt;single-animation-fill-mode&gt;</dfn> =
   4.345 +				none | forwards | backwards | both
   4.346 +	</div>
   4.347  
   4.348  <h3 id="animation-shorthand-property">
   4.349  The 'animation' Shorthand Property
   4.350 @@ -912,38 +949,13 @@
   4.351  	<p>
   4.352  		The 'animation' shorthand property combines seven of the animation properties into a single property.
   4.353  			
   4.354 -	<p>
   4.355 -		Note that order is important in this property. 
   4.356 -		The first value that can be parsed as a <var>&lt;time></var> is assigned to the 'animation-duration'. 
   4.357 -		The second value that can be parsed as a <var>&lt;time></var> is assigned to 'animation-delay'.
   4.358 -			
   4.359 -	<p class="issue">
   4.360 -		An alternative proposal is to accept the font shorthand approach 
   4.361 -		of using a "/" character between the values of the same type. 
   4.362 -		e.g. 2s/4s would mean a duration of 2 seconds and a delay of 4 seconds.
   4.363 -
   4.364  	<table class=propdef>
   4.365  		<tr>
   4.366  			<th>Name:</th>
   4.367  			<td><dfn>animation</dfn>
   4.368  		<tr>
   4.369  			<th><a href="#values">Value</a>:
   4.370 -			<td>
   4.371 -					[
   4.372 -						&lt;animation-name&gt; || &lt;animation-duration&gt; ||
   4.373 -	      			 	&lt;animation-timing-function&gt; || &lt;animation-delay&gt; ||
   4.374 -	      			 	&lt;animation-iteration-count&gt; || &lt;animation-direction&gt; ||
   4.375 -	      			 	&lt;animation-fill-mode&gt;
   4.376 -	      			] 
   4.377 -      			[, 
   4.378 -      				[
   4.379 -      					&lt;animation-name&gt; || &lt;animation-duration&gt; || 
   4.380 -      					&lt;animation-timing-function&gt; || &lt;animation-delay&gt; || 
   4.381 -      					&lt;animation-iteration-count&gt; || &lt;animation-direction&gt; || 
   4.382 -      					&lt;animation-fill-mode&gt;
   4.383 -  					] 
   4.384 -				]*
   4.385 -
   4.386 +			<td><span>&lt;single-animation&gt;</span> [ ',' <span>&lt;single-animation&gt;</span> ]*
   4.387  		<tr>
   4.388  			<th>Initial:
   4.389  			<td>see individual properties
   4.390 @@ -954,19 +966,50 @@
   4.391  			<th>Inherited:
   4.392  			<td>see individual properties
   4.393  		<tr>
   4.394 -			<th>Computed Value:
   4.395 -			<td>see individual properties
   4.396 +			<th>Animatable:
   4.397 +			<td>no
   4.398 +		<tr>
   4.399 +			<th>Percentages:
   4.400 +			<td>N/A
   4.401  		<tr>
   4.402  			<th>Media:
   4.403  			<td>visual
   4.404  		<tr>
   4.405 -			<th>Animatable:
   4.406 -			<td>no
   4.407 +			<th>Computed Value:
   4.408 +			<td>see individual properties
   4.409  		<tr>
   4.410  			<th>Canonical Order:
   4.411  			<td><abbr title="follows order of property value definition">per grammar</abbr>
   4.412  	</table>
   4.413  
   4.414 +	<div class="prod">
   4.415 +		<dfn id="single-animation">&lt;single-animation&gt;</dfn> =
   4.416 +				&lt;single-animation-name&gt; ||
   4.417 +				<span>&lt;time&gt;</span> ||
   4.418 +				&lt;single-animation-timing-function&gt; ||
   4.419 +				<span>&lt;time&gt;</span> ||
   4.420 +				&lt;single-animation-iteration-count&gt; ||
   4.421 +				&lt;single-animation-direction&gt; ||
   4.422 +				&lt;single-animation-fill-mode&gt;
   4.423 +	</div>
   4.424 +
   4.425 +	<p>
   4.426 +		Note that order is important within the items in this property:
   4.427 +		the first value that can be parsed as a <var>&lt;time&gt;</var> is assigned to the
   4.428 +		animation-duration,
   4.429 +		and the second value that can be parsed as a <var>&lt;time&gt;</var> is assigned to
   4.430 +		animation-delay.
   4.431 +	</p>
   4.432 +
   4.433 +	<p class="issue">
   4.434 +		An alternative proposal is to accept the font shorthand approach 
   4.435 +		of using a "/" character between the values of the same type. 
   4.436 +		e.g. 2s/4s would mean a duration of 2 seconds and a delay of 4 seconds.
   4.437 +
   4.438 +	<p class="issue">
   4.439 +		Need to also explain how order is important in terms of animation-name
   4.440 +		versus keywords, and probably also adjust the canonical order to
   4.441 +		match.
   4.442  
   4.443  <h2 id="animation-events">
   4.444  Animation Events</h2>
   4.445 @@ -1305,6 +1348,7 @@
   4.446  
   4.447  <p>Thanks especially to the feedback from
   4.448  Tab Atkins,
   4.449 +Carine Bournez,
   4.450  Estelle Weyl,
   4.451  and all the rest of the
   4.452  <a href="http://lists.w3.org/Archives/Public/www-style/">www-style</a> community.
     5.1 --- a/css3-background/Makefile	Fri Sep 21 16:00:07 2012 -0700
     5.2 +++ b/css3-background/Makefile	Fri Sep 21 16:01:06 2012 -0700
     5.3 @@ -10,25 +10,31 @@
     5.4  #
     5.5  # Possible other options to add to the curl command below:
     5.6  # -F ids=on
     5.7 +# -F omitdchtml=on
     5.8 +
     5.9 +opts =
    5.10  
    5.11  cdate = $(shell date +%Y%m%d)
    5.12  
    5.13  %.html: %.src.html
    5.14  	@echo "Calling post-processor to generate $@..."
    5.15  	@curl -K ~/.curl-w3.org -s -S -F output=html -F file=@$< -F group=CSS \
    5.16 -	-F method=file -F date=$(cdate) -F status=$(status) -o $@ \
    5.17 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
    5.18  	https://cgi.w3.org/member-bin/process.cgi
    5.19  %.err: %.src.html
    5.20  	@echo "Calling post-processor to check $<..."
    5.21  	@curl -K ~/.curl-w3.org -s -S -F output=err -F file=@$< -F group=CSS \
    5.22 -	-F method=file -F date=$(cdate) -F status=$(status) -o $@ \
    5.23 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
    5.24  	https://cgi.w3.org/member-bin/process.cgi
    5.25  
    5.26  # For Dispositions of Comments in css3-background:
    5.27 +%.html: %.txt; awk -f issues-txt-to-html.awk $< >$@
    5.28  
    5.29 -%.html: %.txt
    5.30 -	awk -f issues-txt-to-html.awk $< >$@
    5.31 +# Rule to create EPS from FIG
    5.32 +%.eps: %.fig; fig2dev -m 0.8 -L eps -F -c $< $@
    5.33  
    5.34 +# Rule to create raster image versions of EPS images
    5.35 +%.png: %.eps; convert -density 96x96 $< $@
    5.36  
    5.37  
    5.38  all: check Overview.html
    5.39 @@ -56,3 +62,4 @@
    5.40  
    5.41  .PHONY: check commit update clean
    5.42  .DELETE_ON_ERROR:
    5.43 +.PRECIOUS: %.png
     6.1 --- a/css3-box/Makefile	Fri Sep 21 16:00:07 2012 -0700
     6.2 +++ b/css3-box/Makefile	Fri Sep 21 16:01:06 2012 -0700
     6.3 @@ -10,49 +10,56 @@
     6.4  #
     6.5  # Possible other options to add to the curl command below:
     6.6  # -F ids=on
     6.7 +# -F omitdchtml=on
     6.8 +
     6.9 +opts =
    6.10  
    6.11  cdate = $(shell date +%Y%m%d)
    6.12  
    6.13  %.html: %.src.html
    6.14  	@echo "Calling post-processor to generate $@..."
    6.15 -	@curl -F file=@$< -F group=CSS -F output=html -F method=file -s \
    6.16 -	-F date=$(cdate) -F status=$(status) \
    6.17 -	-K ~/.curl-w3.org http://cgi.w3.org/member-bin/process.cgi >$@
    6.18 +	@curl -K ~/.curl-w3.org -s -S -F output=html -F file=@$< -F group=CSS \
    6.19 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
    6.20 +	https://cgi.w3.org/member-bin/process.cgi
    6.21  %.err: %.src.html
    6.22  	@echo "Calling post-processor to check $<..."
    6.23 -	@curl -F file=@$< -F group=CSS -F output=err -F method=file -s \
    6.24 -	-F date=$(cdate) -F status=$(status) \
    6.25 -	-K ~/.curl-w3.org http://cgi.w3.org/member-bin/process.cgi >$@
    6.26 +	@curl -K ~/.curl-w3.org -s -S -F output=err -F file=@$< -F group=CSS \
    6.27 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
    6.28 +	https://cgi.w3.org/member-bin/process.cgi
    6.29  
    6.30  # For Dispositions of Comments in css3-background:
    6.31 +%.html: %.txt; awk -f issues-txt-to-html.awk $< >$@
    6.32  
    6.33 -%.html: %.txt
    6.34 -	awk -f issues-txt-to-html.awk $< >$@
    6.35 +# Rule to create EPS from FIG
    6.36 +%.eps: %.fig; fig2dev -m 0.8 -L eps -F -c $< $@
    6.37  
    6.38 +# Rule to create raster image versions of EPS images
    6.39 +%.png: %.eps; convert -density 96x96 $< $@
    6.40  
    6.41  
    6.42  all: check Overview.html
    6.43 -	@echo Done.
    6.44  
    6.45 +# egrep will exit with a zero exit code if there is anything left
    6.46  check: Overview.err
    6.47  	@cat $<
    6.48 -	@grep -q '^No errors$$' $< # Force a non-zero exit code if errors
    6.49 -
    6.50 +	@if egrep -v '^(Warning:|\(Processed in .* seconds\)|No errors)' $<;\
    6.51 +	 then false; else true; fi
    6.52  
    6.53  
    6.54  # A handy shortcut:
    6.55  
    6.56 -commit: update clean all
    6.57 -	-hg commit -m 'Generated. Do not edit!' Overview.html
    6.58 +commit: update all
    6.59 +	hg commit -m 'Generated. Do not edit!' Overview.html || true
    6.60  	hg push
    6.61  
    6.62  update:
    6.63  	hg pull -u
    6.64  
    6.65  clean:
    6.66 -	-rm Overview.html
    6.67 +	rm -f Overview.html Overview.err
    6.68  
    6.69  
    6.70  
    6.71  .PHONY: check commit update clean
    6.72 +.DELETE_ON_ERROR:
    6.73  .PRECIOUS: %.png
     7.1 --- a/css3-box/Overview.html	Fri Sep 21 16:00:07 2012 -0700
     7.2 +++ b/css3-box/Overview.html	Fri Sep 21 16:01:06 2012 -0700
     7.3 @@ -2,11 +2,23 @@
     7.4  
     7.5  <html>
     7.6   <head
     7.7 -  profile="http://www.w3.org/2006/03/hcard   http://microformats.org/wiki/rel-license"><meta
     7.8 -  content="text/html; charset=utf-8" http-equiv=content-type>
     7.9 -
    7.10 +  profile="http://dublincore.org/documents/2008/08/04/dc-html/  http://microformats.org/profile/h-card http://microformats.org/profile/hcard http://microformats.org/profile/rel-license "><!-- Note: the h-card profile is for a "microformats 2" vocabulary and
    7.11 +is experimental as of September 2012 -->
    7.12 +
    7.13 +  <meta content="text/html; charset=utf-8" http-equiv=content-type>
    7.14    <title>CSS basic box model</title>
    7.15  
    7.16 +  <link href="http://purl.org/dc/terms/" rel=schema.DC>
    7.17 +  <meta content="CSS basic box model" name=DC.title>
    7.18 +  <meta content=text name=DC.type>
    7.19 +  <meta content=2012-09-21 name=DC.issued>
    7.20 +  <meta content="Bert Bos" name=DC.creator>
    7.21 +  <meta content="Anton Prowse" name=DC.creator>
    7.22 +  <meta content=W3C name=DC.publisher>
    7.23 +  <meta content="http://www.w3.org/TR/2012/ED-css3-box-20120921/"
    7.24 +   name=DC.identifier>
    7.25 +  <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
    7.26 +   rel=DC.rights>
    7.27    <style type="text/css">
    7.28    ol.stack p {margin-top: 0}
    7.29    img.small {max-width: 100%}
    7.30 @@ -15,7 +27,7 @@
    7.31    <link href="#index" rel=index>
    7.32    <link href="../default.css" rel=stylesheet title=Default type="text/css">
    7.33    <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet
    7.34 -  title=Default type="text/css">
    7.35 +   title=Default type="text/css">
    7.36  
    7.37   <body>
    7.38    <div class=head> <!--begin-logo-->
    7.39 @@ -24,29 +36,35 @@
    7.40  
    7.41     <h1>CSS basic box model</h1>
    7.42  
    7.43 -   <h2 class="no-num no-toc" id=longstatus-date-26-sep-2006>Editor's Draft 16
    7.44 -    May 2012</h2>
    7.45 +   <h2 class="no-num no-toc" id=longstatus-date-26-sep-2006>Editor's Draft 21
    7.46 +    September 2012</h2>
    7.47  
    7.48     <dl>
    7.49      <dt>This version:
    7.50  
    7.51 -    <dd><a href="http://www.w3.org/TR/2012/ED-css3-box-20120516/">
    7.52 -     http://www.w3.org/TR/2012/ED-css3-box-20120516</a>
    7.53 +    <dd><a
    7.54 +     href="http://www.w3.org/TR/2012/ED-css3-box-20120921/">http://www.w3.org/TR/2012/ED-css3-box-20120921</a>
    7.55  
    7.56      <dt>Latest version:
    7.57  
    7.58 -    <dd><a href="http://www.w3.org/TR/css3-box">
    7.59 -     http://www.w3.org/TR/css3-box</a>
    7.60 +    <dd><a
    7.61 +     href="http://www.w3.org/TR/css3-box">http://www.w3.org/TR/css3-box</a>
    7.62  
    7.63      <dt>Previous version:
    7.64  
    7.65 -    <dd><a href="http://www.w3.org/TR/2002/WD-css3-box-20021024">
    7.66 -     http://www.w3.org/TR/2002/WD-css3-box-20021024</a>
    7.67 +    <dd><a
    7.68 +     href="http://www.w3.org/TR/2002/WD-css3-box-20021024">http://www.w3.org/TR/2002/WD-css3-box-20021024</a>
    7.69  
    7.70      <dt>Editors:
    7.71  
    7.72 -    <dd class=vcard><span class=fn>Bert Bos</span> (<span
    7.73 -     class=org>W3C</span>) <span class=email>bert@w3.org</span>
    7.74 +    <dd class="h-card vcard"><a class="p-name fn u-url url"
    7.75 +     href="http://www.w3.org/People/Bos/" rel=author>Bert Bos</a>, <span
    7.76 +     class="p-org org">W3C</span>, <a class="u-email email"
    7.77 +     href="mailto:bert@w3.org">&lt;bert@w3.org&gt;</a>
    7.78 +
    7.79 +    <dd class="h-card vcard"><span class="p-name fn">Anton Prowse</span>,
    7.80 +     <span class="p-org org">Invited Expert</span>, <a class="u-email email"
    7.81 +     href="mailto:prowse@moonhenge.net">&lt;prowse@moonhenge.net&gt;</a>
    7.82     </dl>
    7.83     <!--begin-copyright-->
    7.84     <p class=copyright><a
    7.85 @@ -151,160 +169,163 @@
    7.86     <li><a href="#the-viewport-and-the-canvas"><span class=secno>4. </span>The
    7.87      viewport and the canvas</a>
    7.88  
    7.89 -   <li><a href="#aspect-ratios-of-replaced-elements"><span class=secno>5.
    7.90 -    </span>Aspect ratios of replaced elements</a>
    7.91 -
    7.92 -   <li><a href="#basic-flow-layout"><span class=secno>6. </span>Basic flow
    7.93 -    layout</a>
    7.94 -
    7.95 -   <li><a href="#types-of-boxes"><span class=secno>7. </span>Types of
    7.96 +   <li><a href="#flows"><span class=secno>5. </span>Flows</a>
    7.97 +
    7.98 +   <li><a href="#types-of-boxes"><span class=secno>6. </span>Types of
    7.99      boxes</a>
   7.100      <ul class=toc>
   7.101 -     <li><a href="#display"><span class=secno>7.1. </span>The display
   7.102 +     <li><a href="#display"><span class=secno>6.1. </span>The display
   7.103        property</a>
   7.104  
   7.105       <li><a href="#mixing-the-box-model-with-other-formatti"><span
   7.106 -      class=secno>7.2. </span>Mixing the box model with other formatting
   7.107 +      class=secno>6.2. </span>Mixing the box model with other formatting
   7.108        models</a>
   7.109  
   7.110       <li><a href="#block-level-boxes-containing-blocks-flow"><span
   7.111 -      class=secno>7.3. </span>Block-level boxes, containing blocks, flows and
   7.112 +      class=secno>6.3. </span>Block-level boxes, containing blocks, flows and
   7.113        anonymous boxes</a>
   7.114  
   7.115 -     <li><a href="#run-in-boxes"><span class=secno>7.4. </span>Run-in
   7.116 +     <li><a href="#run-in-boxes"><span class=secno>6.4. </span>Run-in
   7.117        boxes</a>
   7.118  
   7.119 -     <li><a href="#compact-boxes"><span class=secno>7.5. </span>Compact
   7.120 +     <li><a href="#compact-boxes"><span class=secno>6.5. </span>Compact
   7.121        boxes</a>
   7.122      </ul>
   7.123  
   7.124 -   <li><a href="#the-padding-properties"><span class=secno>8. </span>The
   7.125 +   <li><a href="#the-padding-properties"><span class=secno>7. </span>The
   7.126      padding properties</a>
   7.127  
   7.128 -   <li><a href="#margins"><span class=secno>9. </span>Margins</a>
   7.129 +   <li><a href="#margins"><span class=secno>8. </span>Margins</a>
   7.130      <ul class=toc>
   7.131 -     <li><a href="#the-margin-properties"><span class=secno>9.1. </span>The
   7.132 +     <li><a href="#the-margin-properties"><span class=secno>8.1. </span>The
   7.133        margin properties</a>
   7.134 -
   7.135 -     <li><a href="#collapsing-margins"><span class=secno>9.2.
   7.136 +    </ul>
   7.137 +
   7.138 +   <li><a href="#the-width-and-height-properties"><span class=secno>9.
   7.139 +    </span>The width and height properties</a>
   7.140 +
   7.141 +   <li><a href="#min-max"><span class=secno>10. </span>The min-width,
   7.142 +    max-width, min-height and max-height properties</a>
   7.143 +
   7.144 +   <li><a href="#intrinsic"><span class=secno>11. </span>Definition of
   7.145 +    intrinsic sizes – high quality</a>
   7.146 +
   7.147 +   <li><a href="#intrinsic-low"><span class=secno>12. </span>Definition of
   7.148 +    intrinsic sizes – low quality</a>
   7.149 +
   7.150 +   <li><a href="#aspect-ratios-of-replaced-elements"><span class=secno>13.
   7.151 +    </span>Aspect ratios of replaced elements</a>
   7.152 +
   7.153 +   <li><a href="#block-level-formatting"><span class=secno>14.
   7.154 +    </span>Block-level formatting</a>
   7.155 +    <ul class=toc>
   7.156 +     <li><a href="#collapsing-margins"><span class=secno>14.1.
   7.157        </span>Collapsing margins</a>
   7.158      </ul>
   7.159  
   7.160 -   <li><a href="#the-width-and-height-properties"><span class=secno>10.
   7.161 -    </span>The width and height properties</a>
   7.162 -
   7.163 -   <li><a href="#min-max"><span class=secno>11. </span>The min-width,
   7.164 -    max-width, min-height and max-height properties</a>
   7.165 -
   7.166 -   <li><a href="#intrinsic"><span class=secno>12. </span>Definition of
   7.167 -    intrinsic sizes – high quality</a>
   7.168 -
   7.169 -   <li><a href="#intrinsic-low"><span class=secno>13. </span>Definition of
   7.170 -    intrinsic sizes – low quality</a>
   7.171 -
   7.172 -   <li><a href="#Calculating"><span class=secno>14. </span>Calculating
   7.173 +   <li><a href="#Calculating"><span class=secno>15. </span>Calculating
   7.174      widths, heights and margins</a>
   7.175      <ul class=toc>
   7.176 -     <li><a href="#inline-non-replaced"><span class=secno>14.1.
   7.177 +     <li><a href="#inline-non-replaced"><span class=secno>15.1.
   7.178        </span>Inline, non-replaced elements</a>
   7.179  
   7.180 -     <li><a href="#inline-replaced"><span class=secno>14.2. </span>Inline or
   7.181 +     <li><a href="#inline-replaced"><span class=secno>15.2. </span>Inline or
   7.182        floating, replaced elements</a>
   7.183  
   7.184 -     <li><a href="#blockwidth"><span class=secno>14.3. </span>Block-level,
   7.185 +     <li><a href="#blockwidth"><span class=secno>15.3. </span>Block-level,
   7.186        non-replaced elements in normal flow when ‘<code
   7.187        class=property>overflow</code>’ computes to ‘<code
   7.188        class=css>visible</code>’</a>
   7.189  
   7.190       <li><a href="#other-block-level-non-replaced-elements-"><span
   7.191 -      class=secno>14.4. </span>Other block-level, non-replaced elements in
   7.192 +      class=secno>15.4. </span>Other block-level, non-replaced elements in
   7.193        normal flow</a>
   7.194  
   7.195       <li><a href="#inline-block-or-floating-non-replaced-el"><span
   7.196 -      class=secno>14.5. </span>‘<code class=property>Inline-block</code>’
   7.197 +      class=secno>15.5. </span>‘<code class=property>Inline-block</code>’
   7.198        or floating, non-replaced elements</a>
   7.199  
   7.200 -     <li><a href="#abs-non-replaced-width"><span class=secno>14.6.
   7.201 +     <li><a href="#abs-non-replaced-width"><span class=secno>15.6.
   7.202        </span>Absolutely positioned, non-replaced elements</a>
   7.203  
   7.204 -     <li><a href="#abs-replaced"><span class=secno>14.7. </span>Absolutely
   7.205 +     <li><a href="#abs-replaced"><span class=secno>15.7. </span>Absolutely
   7.206        positioned, replaced elements</a>
   7.207  
   7.208       <li><a href="#block-level-replaced-elements-in-normal-"><span
   7.209 -      class=secno>14.8. </span>Block-level, replaced elements in normal
   7.210 +      class=secno>15.8. </span>Block-level, replaced elements in normal
   7.211        flow</a>
   7.212  
   7.213 -     <li><a href="#floating-non-replaced-elements"><span class=secno>14.9.
   7.214 +     <li><a href="#floating-non-replaced-elements"><span class=secno>15.9.
   7.215        </span>Floating, non-replaced elements</a>
   7.216  
   7.217 -     <li><a href="#root-height"><span class=secno>14.10. </span>Auto heights
   7.218 +     <li><a href="#root-height"><span class=secno>15.10. </span>Auto heights
   7.219        for flow roots</a>
   7.220      </ul>
   7.221  
   7.222 -   <li><a href="#the-float-property"><span class=secno>15. </span>The float
   7.223 +   <li><a href="#the-float-property"><span class=secno>16. </span>The float
   7.224      property</a>
   7.225      <ul class=toc>
   7.226 -     <li><a href="#introduction-to-floats"><span class=secno>15.1.
   7.227 +     <li><a href="#introduction-to-floats"><span class=secno>16.1.
   7.228        </span>Introduction to floats</a>
   7.229  
   7.230 -     <li><a href="#rules-for-positioning-floats"><span class=secno>15.2.
   7.231 +     <li><a href="#rules-for-positioning-floats"><span class=secno>16.2.
   7.232        </span>Rules for positioning floats</a>
   7.233      </ul>
   7.234  
   7.235 -   <li><a href="#the-clear-property"><span class=secno>16. </span>The clear
   7.236 +   <li><a href="#the-clear-property"><span class=secno>17. </span>The clear
   7.237      property</a>
   7.238  
   7.239 -   <li><a href="#the-clear-after-property"><span class=secno>17. </span>The
   7.240 +   <li><a href="#the-clear-after-property"><span class=secno>18. </span>The
   7.241      clear-after property</a>
   7.242  
   7.243 -   <li><a href="#overflow0"><span class=secno>18. </span>Overflow</a>
   7.244 +   <li><a href="#overflow0"><span class=secno>19. </span>Overflow</a>
   7.245      <ul class=toc>
   7.246 -     <li><a href="#overflow"><span class=secno>18.1. </span>The overflow,
   7.247 +     <li><a href="#overflow"><span class=secno>19.1. </span>The overflow,
   7.248        overflow-x and overflow-y properties</a>
   7.249      </ul>
   7.250  
   7.251 -   <li><a href="#the-visibility-property"><span class=secno>19. </span>The
   7.252 +   <li><a href="#the-visibility-property"><span class=secno>20. </span>The
   7.253      visibility property</a>
   7.254  
   7.255 -   <li><a href="#the-alignment-property"><span class=secno>20. </span>The
   7.256 +   <li><a href="#the-alignment-property"><span class=secno>21. </span>The
   7.257      alignment property</a>
   7.258  
   7.259 -   <li><a href="#the-child-align-property"><span class=secno>21. </span>The
   7.260 +   <li><a href="#the-child-align-property"><span class=secno>22. </span>The
   7.261      child-align property</a>
   7.262  
   7.263 -   <li><a href="#stacking-contexts"><span class=secno>22. </span>Stacking
   7.264 +   <li><a href="#stacking-contexts"><span class=secno>23. </span>Stacking
   7.265      contexts</a>
   7.266      <ul class=toc>
   7.267 -     <li><a href="#definitions"><span class=secno>22.1.
   7.268 +     <li><a href="#definitions"><span class=secno>23.1.
   7.269        </span>Definitions</a>
   7.270  
   7.271 -     <li><a href="#painting-order"><span class=secno>22.2. </span>Painting
   7.272 +     <li><a href="#painting-order"><span class=secno>23.2. </span>Painting
   7.273        order</a>
   7.274  
   7.275 -     <li><a href="#notes"><span class=secno>22.3. </span>Notes</a>
   7.276 -
   7.277 -     <li><a href="#the-ltnumbergt-value"><span class=secno>22.4. </span>The
   7.278 +     <li><a href="#notes"><span class=secno>23.3. </span>Notes</a>
   7.279 +
   7.280 +     <li><a href="#the-ltnumbergt-value"><span class=secno>23.4. </span>The
   7.281        &lt;number&gt; value</a>
   7.282  
   7.283 -     <li><a href="#auto"><span class=secno>22.5. </span>The auto value</a>
   7.284 -
   7.285 -     <li><a href="#complex-size"><span class=secno>22.6. </span>Algorithm for
   7.286 +     <li><a href="#auto"><span class=secno>23.5. </span>The auto value</a>
   7.287 +
   7.288 +     <li><a href="#complex-size"><span class=secno>23.6. </span>Algorithm for
   7.289        shrink-wrapping replaced elements with complex width/height</a>
   7.290      </ul>
   7.291  
   7.292 -   <li><a href="#the-float-displace-property"><span class=secno>23.
   7.293 +   <li><a href="#the-float-displace-property"><span class=secno>24.
   7.294      </span>The ‘<code class=property>float-displace</code>’ property</a>
   7.295  
   7.296 -   <li><a href="#the-indent-edge-reset-property"><span class=secno>24.
   7.297 +   <li><a href="#the-indent-edge-reset-property"><span class=secno>25.
   7.298      </span>The ‘<code class=property>indent-edge-reset</code>’
   7.299      property</a>
   7.300  
   7.301 -   <li><a href="#conformance-and-profiles"><span class=secno>25.
   7.302 +   <li><a href="#conformance-and-profiles"><span class=secno>26.
   7.303      </span>Conformance and profiles</a>
   7.304  
   7.305 -   <li><a href="#exit"><span class=secno>26. </span>CR exit criteria</a>
   7.306 -
   7.307 -   <li><a href="#acknowledgments"><span class=secno>27.
   7.308 +   <li><a href="#exit"><span class=secno>27. </span>CR exit criteria</a>
   7.309 +
   7.310 +   <li><a href="#acknowledgments"><span class=secno>28.
   7.311      </span>Acknowledgments</a>
   7.312  
   7.313     <li class=no-num><a href="#references">References</a>
   7.314 @@ -404,7 +425,9 @@
   7.315    <p class=note>Note: The model in this specification differs from the model
   7.316     described in the CSS level 2 specification <a href="#CSS21"
   7.317     rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>, because it is generalized to
   7.318 -   apply also to vertical text.
   7.319 +   apply also to vertical text. A document using only features from level 2
   7.320 +   renders exactly as described there, (except possibly for features that are
   7.321 +   undefined in that specification and have become defined since).
   7.322  
   7.323    <p>CSS assumes that the document to lay out is modeled as a <span
   7.324     class=index id=tree
   7.325 @@ -415,34 +438,70 @@
   7.326     has one parent, except for the unique element that has no parent, which is
   7.327     called the <dfn id=root-element.>root element.</dfn>
   7.328  
   7.329 +  <p class=note>Note that such a tree can be described in XML or SGML, but
   7.330 +   also in other notations and that it is the definition of that notation,
   7.331 +   not CSS, that determines the equivalence between the abstract tree and the
   7.332 +   concrete notation. E.g., SGML often allows white space to be added between
   7.333 +   elements for readability, which does not result in a string of spaces in
   7.334 +   the abstract tree.
   7.335 +
   7.336    <p>CSS describes how each element and each string of text is laid out by
   7.337     transforming the document tree into a set of rectangular boxes, whose
   7.338     size, position, and stacking level on the <a
   7.339     href="#canvas"><em>canvas</em></a> depend on their properties. We say that
   7.340     an element <dfn id=generates title="generated box">generates</dfn> one or
   7.341 -   more boxes. There are <a href="#block-level"><em>block-level</em></a>
   7.342 -   boxes, <a href="#line-box."><em title="line box">line boxes</em></a> and
   7.343 -   <a href="#inline-level"><em title=inline-level>inline-level
   7.344 -   boxes.</em></a> A block-level box is like a paragraph. A line box is like
   7.345 -   a line of text. Inline-level boxes are like words inside a line.
   7.346 -
   7.347 -  <p>When the specification says a box <a href="#aprime"><var>A</var></a>
   7.348 -   <dfn id=contains>contains</dfn> a box <a href="#bprime"><var>B</var></a>,
   7.349 -   then <a href="#bprime"><var>B</var></a> is a box generated by an element
   7.350 -   that is a descendant of the element that generated <a
   7.351 -   href="#aprime"><var>A</var></a>. Typically, box <a
   7.352 -   href="#bprime"><var>B</var></a> is geometrically contained in box <a
   7.353 -   href="#aprime"><var>A</var></a> as well, but that need not be the case,
   7.354 -   because of, e.g., overflow or negative margins.
   7.355 +   more boxes. There are numerous different types of boxes. <span
   7.356 +   class=issue>[Or maybe only one? I.e., a block-level box is just a normal
   7.357 +   box that happens to be generated by a block-level element?]</span> A block
   7.358 +   box is like a paragraph; a line box is like a single line of text; and
   7.359 +   inline boxes are like words inside a line.
   7.360 +
   7.361 +  <div class=issue>
   7.362 +   <p>Define the <dfn id=box-tree. title="box tree|tree!!of boxes">box
   7.363 +    tree.</dfn> (Is the space between words a kind of box as well, or a
   7.364 +    spacer item? Is the current selection a box? Is there a defined order
   7.365 +    among sibling boxes? If so, are bidi inline boxes ordered in reading
   7.366 +    order or in visual order?)
   7.367 +
   7.368 +   <p>[Define the box tree before pagination and then describe how pagination
   7.369 +    can break one box into two?]
   7.370 +
   7.371 +   <ul>
   7.372 +    <li>If the parent element is a list item, the boxes go into the parent's
   7.373 +     block box, not the marker box.
   7.374 +
   7.375 +    <li>If the element is run-in, its boxes go either into a box of its
   7.376 +     parent element, or into a box of a later sibling.
   7.377 +
   7.378 +    <li>The order of sibling boxes is always such that boxes that belong to
   7.379 +     elements earlier in the document come before boxes of elements that come
   7.380 +     later in the document.
   7.381 +
   7.382 +    <li>Note that ‘<code class=property>position</code>’ can put a box
   7.383 +     into the box of an ancestor (the one establishing the containing block)
   7.384 +     rather than a parent.
   7.385 +
   7.386 +    <li>Note that ‘<a href="#flow0"><code class=property>flow</code></a>’
   7.387 +     puts boxes into a named flow root.
   7.388 +   </ul>
   7.389 +  </div>
   7.390 +
   7.391 +  <p>When the specification says a box <var>A</var> <dfn
   7.392 +   id=contains>contains</dfn> a box <var>B</var> it means <var>B</var> is a
   7.393 +   child of <var>A</var> in the <a href="#box-tree."><em>box tree.</em></a>
   7.394 +   Typically, box <var>B</var> is geometrically contained within box
   7.395 +   <var>A</var> as well, but that need not be the case, because of, e.g.,
   7.396 +   overflow or negative margins.
   7.397  
   7.398    <p class=note>Note: The precise rules are below and in other modules, but
   7.399 -   in summary, a block-level box contains either other block-level boxes
   7.400 -   (e.g., a section containing paragraphs, or a table containing rows), or it
   7.401 -   contains line boxes (e.g., a paragraph containing lines of text). A line
   7.402 -   box contains inline-level boxes (e.g., a line with words in different
   7.403 -   styles). An inline-level box may contain either text interspersed with
   7.404 -   more inline-level boxes, or it may contain a block-level box (e.g., a
   7.405 -   small table that is rendered inline).
   7.406 +   in summary, <span class=issue>[write something that helps convey the idea
   7.407 +   of a flow, e.g.:]</span> a block-level box contains either other
   7.408 +   block-level boxes (e.g., a section containing paragraphs, or a table
   7.409 +   containing rows), or it contains line boxes (e.g., a paragraph containing
   7.410 +   lines of text). A line box contains inline-level boxes (e.g., a line with
   7.411 +   words in different styles). An inline-level box may contain either text
   7.412 +   interspersed with more inline-level boxes, or it may contain a block-level
   7.413 +   box (e.g., a small table that is rendered inline).
   7.414  
   7.415    <div class=figure>
   7.416     <p><img alt="Schematic representation of rel" src=box-intro.png>
   7.417 @@ -460,7 +519,8 @@
   7.418   &lt;li&gt;The second item.
   7.419  &lt;/ul&gt;</pre>
   7.420  
   7.421 -   <p>may result in one block-level box for the <code>ul</code> element,
   7.422 +   <p>may result in <span class=issue>[rewrite the following
   7.423 +    sentence?]</span> one block-level box for the <code>ul</code> element,
   7.424      containing two block-level boxes for the two <code>li</code> elements,
   7.425      each of which has one line box (i.e., one line of text). Both line boxes
   7.426      contain two inline-level boxes: one that contains the list bullet and one
   7.427 @@ -473,31 +533,61 @@
   7.428     <p>If the document is rendered in a narrow window, it may be that the
   7.429      <code>li</code> elements get transformed into even more boxes, because
   7.430      the text requires multiple lines. And if the document is rendered on
   7.431 -    paper, it may be that a page break falls in the middle of the
   7.432 -    <code>ul</code> element, so that it is not transformed into a single
   7.433 -    block-level box, but into two smaller ones, each on a different page.
   7.434 +    paper or in multiple columns, it may be that a page break falls in the
   7.435 +    middle of the <code>ul</code> element, so that it is not transformed into
   7.436 +    a single block-level box, but into two smaller ones, each on a different
   7.437 +    page or column.
   7.438    </div>
   7.439  
   7.440    <p>Each box belongs to exactly one element. It is either <a
   7.441     href="#generates" title="generated box">generated</a> directly by the
   7.442 -   element, or it is an <a href="#anonymous-box"><em>anonymous box</em></a>
   7.443 -   (defined below), which is inserted because the layout rules of CSS require
   7.444 -   a box to contain a certain kind of other box, but the boxes generated by
   7.445 -   the child elements are not of that kind. The anonymous box is defined to
   7.446 -   belong to the parent.
   7.447 -
   7.448 -  <p class=note>Note: This is mainly important for <span class=index
   7.449 -   id=wysiwyg-document-editors>WYSIWYG document editors</span>: if the user
   7.450 -   selects a box on the screen in order to set a property, the editor knows
   7.451 -   which element to set the property on.
   7.452 -
   7.453 -  <p>Properties are set on elements and influence how the element is turned
   7.454 -   into boxes, but in this specification we refer interchangeably to “the
   7.455 -   <var>P</var> property of an element” and “the <var>P</var> property of
   7.456 -   a box” (both of which actually mean “<em>the value</em> of property
   7.457 -   <var>P</var> of…”), unless it is important to distinguish the box and
   7.458 -   the element, e.g., because the element has several boxes and they don't
   7.459 -   all have the same value for the property.
   7.460 +   element, or it is an <a href="#anonymous-box"><em>anonymous box,</em></a>
   7.461 +   which has been inserted to ensure that every box and its parent are of
   7.462 +   mutually compatible types as defined by the layout rules of CSS. An
   7.463 +   anonymous box is defined to belong to whichever element generates the
   7.464 +   box's closest element-generated ancestor box. When we need to be precise,
   7.465 +   we say that the anonymous box is <dfn id=induced>induced,</dfn> rather
   7.466 +   than generated, by the element it belongs to.
   7.467 +
   7.468 +  <p class=note>For example, an anonymous table wrapper box that is created
   7.469 +   around a table cell because the table cell element doesn't have a table
   7.470 +   element as parent, belongs to the parent element of the table cell, not to
   7.471 +   the table cell itself.
   7.472 +
   7.473 +  <p class=note>An anonymous box is never a <em>principal</em> box. Except
   7.474 +   for that, an anonymous box cannot be distinguished by its property values
   7.475 +   and characteristics from a box generated by some hypothetical document
   7.476 +   element. <span class=issue>Remove this note? Do we actually use the
   7.477 +   concept of “principal box” anywhere?</span>
   7.478 +
   7.479 +  <p>Properties are set on elements <a href="#CSS3CASCADE"
   7.480 +   rel=biblioentry>[CSS3CASCADE]<!--{{!CSS3CASCADE}}--></a> and influence how
   7.481 +   the element is turned into boxes. Every box has the same properties with
   7.482 +   the same values as the element to which it belongs, except for anonymous
   7.483 +   boxes: inheritable properties on anonymous boxes have the same value as
   7.484 +   the element, while non-inheritable properties have the initial value. The
   7.485 +   only property that boxes do not have is the ‘<a href="#display0"><code
   7.486 +   class=property>display</code></a>’ property. <span
   7.487 +   class=issue>[Actually, boxes are just rectangles with a border, a
   7.488 +   background, a position, a bunch of other boxes inside, and a reference to
   7.489 +   the element they belong to. They don't really have properties. But it is
   7.490 +   convenient to say the “the box has a font <var>X</var>” rather than
   7.491 +   the verbose “the element that generated the box has a font
   7.492 +   <var>X</var>.”</span>
   7.493 +
   7.494 +  <p>Boxes do not have specified values <a href="#CSS3CASCADE"
   7.495 +   rel=biblioentry>[CSS3CASCADE]<!--{{!CSS3CASCADE}}--></a>, but they do have
   7.496 +   computed, used and actual values.
   7.497 +
   7.498 +  <p class=note>Boxes are frequently referred to by their property values.
   7.499 +   For example, a “floated box” is a box whose computed value of ‘<a
   7.500 +   href="#float"><code class=property>float</code></a>’ is not ‘<code
   7.501 +   class=css>none</code>’, and a “positioned box” is a box whose
   7.502 +   computed value of ‘<code class=property>position</code>’ is not
   7.503 +   ‘<code class=css>static</code>’. However, terms such as
   7.504 +   <em>block-level box,</em> <a href="#block-container-box"><em>block
   7.505 +   container box</em></a> and <em>table box</em> describe characteristics
   7.506 +   which cannot be deduced solely from a box's property values.
   7.507  
   7.508    <div class=figure id=various>
   7.509     <p><img
   7.510 @@ -509,8 +599,10 @@
   7.511  
   7.512    <p>Boxes have padding, a border and margins (see the <a
   7.513     href="#various">figure</a>). Different properties determine the thickness
   7.514 -   of each of these (which may be zero). The margins are also subject to <a
   7.515 -   href="#collapse."><em title=collapse>collapsing.</em></a>
   7.516 +   of each of these (which may be zero). The margins of adjacent boxes are
   7.517 +   also subject to <a href="#collapse."><em
   7.518 +   title=collapse>collapsing</em></a> (i.e., the actual margin between
   7.519 +   adjacent boxes may be less than the sum of the boxes' individual margins).
   7.520  
   7.521    <p>Each box has a <dfn id=content-area>content area</dfn> (a.k.a. <dfn
   7.522     id=content-box>content box</dfn>). The rectangle that bounds this area is
   7.523 @@ -525,8 +617,10 @@
   7.524     the <dfn id=margin-area>margin area</dfn> and its outer edge is the <dfn
   7.525     id=margin-edge.>margin edge.</dfn>
   7.526  
   7.527 -  <p>When the specification says that the padding or border is “absent”
   7.528 -   on some side of the box, that actually means that its thickness is zero.
   7.529 +  <p>When the specification says that the padding or border is <dfn
   7.530 +   id=ldquoabsentrdquo
   7.531 +   title="absent|padding!!absent|border!!absent">“absent”</dfn> on some
   7.532 +   side of the box, that means that its thickness is zero.
   7.533  
   7.534    <p><a href="#line-box."><em title="line box">Line boxes</em></a> cannot
   7.535     have any padding, border or margin, and therefore their margin edge,
   7.536 @@ -542,18 +636,15 @@
   7.537     href="#CSS3-EXCLUSIONS"
   7.538     rel=biblioentry>[CSS3-EXCLUSIONS]<!--{{CSS3-EXCLUSIONS}}--></a>.
   7.539  
   7.540 -  <p>A box or element is <dfn id=horizontal>horizontal</dfn> if its ‘<a
   7.541 -   href="#writing-mode"><code class=property>writing-mode</code></a>’
   7.542 -   property is ‘<code class=css>horizontal-tb</code>’, otherwise it is
   7.543 -   <dfn id=vertical.>vertical.</dfn> The <dfn
   7.544 -   id=orientation>orientation</dfn> of a box or element is the pair of values
   7.545 -   of its ‘<a href="#writing-mode"><code
   7.546 -   class=property>writing-mode</code></a>’ and ‘<a
   7.547 -   href="#direction"><code class=property>direction</code></a>’
   7.548 +  <p>We say that a box or element is <dfn id=horizontal>horizontal</dfn> if
   7.549 +   its ‘<a href="#writing-mode"><code
   7.550 +   class=property>writing-mode</code></a>’ property is ‘<code
   7.551 +   class=css>horizontal-tb</code>’, otherwise it is <dfn
   7.552 +   id=vertical.>vertical.</dfn>
   7.553  
   7.554    <div class=note>
   7.555 -   <p>Note that there are theoretically eight possible orientations, but CSS
   7.556 -    only defines six:
   7.557 +   <p>Note that there are theoretically eight possible orientations for text,
   7.558 +    but CSS only defines six:
   7.559  
   7.560     <table class=equiv-table>
   7.561      <thead>
   7.562 @@ -578,7 +669,7 @@
   7.563        <td>
   7.564         <p>Text is written top to bottom and paragraphs grow to the left
   7.565  
   7.566 -       <p><img alt="" class=small src=vertical-rl.png>
   7.567 +       <p><img alt="" class=small src=vertical.png>
   7.568  
   7.569        <td>
   7.570         <p>Text is written top to bottom and paragraphs grow to the right
   7.571 @@ -591,20 +682,42 @@
   7.572        <td>
   7.573         <p>Text is written from right to left and paragraphs grow downwards
   7.574  
   7.575 +       <p><img alt="" class=small src=horizontal-rtl.png>
   7.576 +
   7.577        <td>
   7.578         <p>Text is written bottom to top and paragraphs grow to the left
   7.579  
   7.580 +       <p><img alt="" class=small src=vertical-rtl.png>
   7.581 +
   7.582        <td>
   7.583         <p>Text is written bottom to top and paragraphs grow to the right
   7.584 +
   7.585 +       <p><img alt="" class=small src=vertical-lr-rtl.png>
   7.586     </table>
   7.587  
   7.588 -   <p>There is no “horizontal-bt.”
   7.589 +   <p>There is no “horizontal-bt.” More information about ‘<a
   7.590 +    href="#writing-mode"><code class=property>writing-mode</code></a>’ and
   7.591 +    ‘<a href="#direction"><code class=property>direction</code></a>’ can
   7.592 +    be found in <a href="#CSS3-WRITING-MODES"
   7.593 +    rel=biblioentry>[CSS3-WRITING-MODES]<!--{{!CSS3-WRITING-MODES}}--></a>.
   7.594    </div>
   7.595  
   7.596 -  <p>This specification sometimes refers to abstract edges <dfn
   7.597 -   id=head>head,</dfn> <dfn id=end>end,</dfn> <dfn id=tail>tail</dfn> and
   7.598 -   <dfn id=start>start,</dfn> which are relative to the orientation of a box.
   7.599 -   They map to top, right, bottom and left as follows:
   7.600 +  <p class=mtb>Calculations of the size and position of boxes are usually
   7.601 +   very similar for horizontal and vertical boxes, except that the horizontal
   7.602 +   and vertical directions are interchanged. To avoid many almost identical
   7.603 +   definitions, this specification therefore often uses abstract terms
   7.604 +   instead of top, right, bottom, left, width and height: four terms (head
   7.605 +   edge, foot edge, start edge and end edge) for the four edges of a box,
   7.606 +   four terms (A edge, B edge, C edge and D edge) for the edges of the
   7.607 +   children of a box and two terms (block dimension and inline dimension for
   7.608 +   the width and height of a box.
   7.609 +
   7.610 +  <p>The <dfn id=head>head,</dfn> <dfn id=foot>foot,</dfn> <dfn
   7.611 +   id=start>start</dfn> and <dfn id=end>end</dfn> edge of a box refer to the
   7.612 +   top, right, bottom and left edges, depending on the ‘<a
   7.613 +   href="#writing-mode"><code class=property>writing-mode</code></a>’ and
   7.614 +   ‘<a href="#direction"><code class=property>direction</code></a>’
   7.615 +   properties of that box, as follows:
   7.616  
   7.617    <table class=equiv-table>
   7.618     <thead>
   7.619 @@ -619,13 +732,13 @@
   7.620  
   7.621       <th>Meaning of “end”
   7.622  
   7.623 -     <th>Meaning of “tail”
   7.624 +     <th>Meaning of “foot”
   7.625  
   7.626       <th>Meaning of “start”
   7.627  
   7.628     <tbody>
   7.629      <tr>
   7.630 -     <th>‘<code class=css>horizontal-tb</code>’
   7.631 +     <th rowspan=2>‘<code class=css>horizontal-tb</code>’
   7.632  
   7.633       <th>‘<code class=css>ltr</code>’
   7.634  
   7.635 @@ -637,8 +750,7 @@
   7.636  
   7.637       <td>left
   7.638  
   7.639 -    <tr>
   7.640 -     <th>‘<code class=css>horizontal-tb</code>’
   7.641 +    <tr><!-- horizontal-tb -->
   7.642  
   7.643       <th>‘<code class=css>rtl</code>’
   7.644  
   7.645 @@ -651,7 +763,7 @@
   7.646       <td>right
   7.647  
   7.648      <tr>
   7.649 -     <th>‘<code class=css>vertical-rl</code>’
   7.650 +     <th rowspan=2>‘<code class=css>vertical-rl</code>’
   7.651  
   7.652       <th>‘<code class=css>ltr</code>’
   7.653  
   7.654 @@ -663,8 +775,7 @@
   7.655  
   7.656       <td>top
   7.657  
   7.658 -    <tr>
   7.659 -     <th>‘<code class=css>vertical-rl</code>’
   7.660 +    <tr><!-- vertical-rl'' -->
   7.661  
   7.662       <th>‘<code class=css>rtl</code>’
   7.663  
   7.664 @@ -677,7 +788,7 @@
   7.665       <td>bottom
   7.666  
   7.667      <tr>
   7.668 -     <th>‘<code class=css>vertical-lr</code>’
   7.669 +     <th rowspan=2>‘<code class=css>vertical-lr</code>’
   7.670  
   7.671       <th>‘<code class=css>rtl</code>’
   7.672  
   7.673 @@ -689,8 +800,7 @@
   7.674  
   7.675       <td>top
   7.676  
   7.677 -    <tr>
   7.678 -     <th>‘<code class=css>vertical-lr</code>’
   7.679 +    <tr><!-- vertical-lr -->
   7.680  
   7.681       <th>‘<code class=css>ltr</code>’
   7.682  
   7.683 @@ -703,145 +813,41 @@
   7.684       <td>bottom
   7.685    </table>
   7.686  
   7.687 -  <p>For example, the “head padding” by default refers to the ‘<a
   7.688 -   href="#padding-top"><code class=property>padding-top</code></a>’ and the
   7.689 -   “end border” is by default the ‘<code
   7.690 +  <p class=note>For example, the “head padding” by default refers to the
   7.691 +   ‘<a href="#padding-top"><code class=property>padding-top</code></a>’
   7.692 +   and the “end border” is by default the ‘<code
   7.693     class=property>border-right</code>’.
   7.694  
   7.695 -  <div class=issue>
   7.696 -   <p>[Alternative terminology:]
   7.697 -
   7.698 -   <p>This specification sometimes refers to abstract edges <dfn
   7.699 -    id=a>A,</dfn> <dfn id=b>B,</dfn> <dfn id=c>C</dfn> and <dfn id=d>D,</dfn>
   7.700 -    which are relative to the orientation of a box. They map to top, right,
   7.701 -    bottom and left as follows:
   7.702 -
   7.703 -   <table class=equiv-table>
   7.704 -    <thead>
   7.705 -     <tr>
   7.706 -      <th>Value of ‘<a href="#writing-mode"><code
   7.707 -       class=property>writing-mode</code></a>’
   7.708 -
   7.709 -      <th>Value of ‘<a href="#direction"><code
   7.710 -       class=property>direction</code></a>’
   7.711 -
   7.712 -      <th>Meaning of “A”
   7.713 -
   7.714 -      <th>Meaning of “B”
   7.715 -
   7.716 -      <th>Meaning of “C”
   7.717 -
   7.718 -      <th>Meaning of “D”
   7.719 -
   7.720 -    <tbody>
   7.721 -     <tr>
   7.722 -      <th>‘<code class=css>horizontal-tb</code>’
   7.723 -
   7.724 -      <th>‘<code class=css>ltr</code>’
   7.725 -
   7.726 -      <td>top
   7.727 -
   7.728 -      <td>right
   7.729 -
   7.730 -      <td>bottom
   7.731 -
   7.732 -      <td>left
   7.733 -
   7.734 -     <tr>
   7.735 -      <th>‘<code class=css>horizontal-tb</code>’
   7.736 -
   7.737 -      <th>‘<code class=css>rtl</code>’
   7.738 -
   7.739 -      <td>top
   7.740 -
   7.741 -      <td>left
   7.742 -
   7.743 -      <td>bottom
   7.744 -
   7.745 -      <td>right
   7.746 -
   7.747 -     <tr>
   7.748 -      <th>‘<code class=css>vertical-rl</code>’
   7.749 -
   7.750 -      <th>‘<code class=css>ltr</code>’
   7.751 -
   7.752 -      <td>right
   7.753 -
   7.754 -      <td>bottom
   7.755 -
   7.756 -      <td>left
   7.757 -
   7.758 -      <td>top
   7.759 -
   7.760 -     <tr>
   7.761 -      <th>‘<code class=css>vertical-rl</code>’
   7.762 -
   7.763 -      <th>‘<code class=css>rtl</code>’
   7.764 -
   7.765 -      <td>right
   7.766 -
   7.767 -      <td>top
   7.768 -
   7.769 -      <td>left
   7.770 -
   7.771 -      <td>bottom
   7.772 -
   7.773 -     <tr>
   7.774 -      <th>‘<code class=css>vertical-lr</code>’
   7.775 -
   7.776 -      <th>‘<code class=css>rtl</code>’
   7.777 -
   7.778 -      <td>left
   7.779 -
   7.780 -      <td>bottom
   7.781 -
   7.782 -      <td>right
   7.783 -
   7.784 -      <td>top
   7.785 -
   7.786 -     <tr>
   7.787 -      <th>‘<code class=css>vertical-lr</code>’
   7.788 -
   7.789 -      <th>‘<code class=css>ltr</code>’
   7.790 -
   7.791 -      <td>left
   7.792 -
   7.793 -      <td>top
   7.794 -
   7.795 -      <td>right
   7.796 -
   7.797 -      <td>bottom
   7.798 -   </table>
   7.799 -
   7.800 -   <p>For example, the “A padding” by default refers to the ‘<a
   7.801 -    href="#padding-top"><code class=property>padding-top</code></a>’ and
   7.802 -    the “B border” is by default the ‘<code
   7.803 -    class=property>border-right</code>’.
   7.804 -  </div>
   7.805 -
   7.806 -  <p>Similarly, the specification sometimes refers to the <dfn id=inline
   7.807 -   title="inline dimension">inline</dfn> and <dfn id=block-flow
   7.808 -   title="block flow dimension">block flow</dfn> dimensions of a box, instead
   7.809 -   of width and height, as follows:
   7.810 +  <p>Similarly, the specification sometimes refers to the <dfn
   7.811 +   id=inline-dimension>inline dimension</dfn> and <dfn
   7.812 +   id=block-dimension>block dimension</dfn> of a box, instead of width and
   7.813 +   height, as follows:
   7.814  
   7.815    <table class=equiv-table>
   7.816     <tbody>
   7.817      <tr>
   7.818 -     <th>Writing mode
   7.819 +     <th>‘<code class=css>Writing mode</code>’
   7.820  
   7.821       <th>Meaning of “inline dimension”
   7.822  
   7.823 -     <th>Meaning of “block flow dimension”
   7.824 -
   7.825 -    <tr>
   7.826 -     <td><a href="#horizontal">horizontal</a>
   7.827 +     <th>Meaning of “block dimension”
   7.828 +
   7.829 +    <tr>
   7.830 +     <td>‘<code class=css>horizontal-tb</code>’
   7.831  
   7.832       <td>width
   7.833  
   7.834       <td>height
   7.835  
   7.836      <tr>
   7.837 -     <td><a href="#vertical.">vertical</a>
   7.838 +     <td>‘<code class=css>vertical-rl</code>’
   7.839 +
   7.840 +     <td>height
   7.841 +
   7.842 +     <td>width
   7.843 +
   7.844 +    <tr>
   7.845 +     <td>‘<code class=css>vertical-lr</code>’
   7.846  
   7.847       <td>height
   7.848  
   7.849 @@ -853,115 +859,134 @@
   7.850     <a href="#block-flow-direction"><em>block flow direction,</em></a>
   7.851     respectively.
   7.852  
   7.853 -  <div class=issue>
   7.854 -   <p>[Alternative terminology:]
   7.855 -
   7.856 -   <p>Similarly, the specification sometimes refers to the <dfn
   7.857 -    id=b-d>B-D</dfn> and <dfn id=a-c>A-C</dfn> dimensions of a box, instead
   7.858 -    of width and height, as follows:
   7.859 -
   7.860 -   <table class=equiv-table>
   7.861 -    <tbody>
   7.862 -     <tr>
   7.863 -      <th>Writing mode
   7.864 -
   7.865 -      <th>Meaning of “B-D”
   7.866 -
   7.867 -      <th>Meaning of “A-C”
   7.868 -
   7.869 -     <tr>
   7.870 -      <td><a href="#horizontal">horizontal</a>
   7.871 -
   7.872 -      <td>width
   7.873 -
   7.874 -      <td>height
   7.875 -
   7.876 -     <tr>
   7.877 -      <td><a href="#vertical.">vertical</a>
   7.878 -
   7.879 -      <td>height
   7.880 -
   7.881 -      <td>width
   7.882 -   </table>
   7.883 -
   7.884 -   <p>These correspond to the dimensions in the <a
   7.885 -    href="#inline-base-direction."><em>inline base direction</em></a> and the
   7.886 -    <a href="#block-flow-direction"><em>block flow direction,</em></a>
   7.887 -    respectively.
   7.888 -  </div>
   7.889 -
   7.890 -  <p>Finally, the <dfn id=headside>headside,</dfn> <dfn
   7.891 -   id=endside>endside,</dfn> <dfn id=tailside>tailside</dfn> and <dfn
   7.892 -   id=startside>startside</dfn> of a box are defined as the sides that
   7.893 -   correspond to the <a href="#head"><em>head,</em></a> <a
   7.894 -   href="#end"><em>end,</em></a> <a href="#tail"><em>tail</em></a> and <a
   7.895 -   href="#start"><em>start,</em></a> of the <a
   7.896 -   href="#containing-block"><em>containing block</em></a> of the box.
   7.897 -
   7.898 -  <div class=example>
   7.899 -   <p>For example, if a box has a ‘<a href="#writing-mode"><code
   7.900 -    class=property>writing-mode</code></a>’ of ‘<code
   7.901 -    class=css>horizontal-tb</code>’, then its top content edge acts as its
   7.902 -    <a href="#head"><em>head</em></a> content edge, and the <a
   7.903 -    href="#headside"><em>headside</em></a> edges of its children are
   7.904 -    therefore their top edges, independent of what their own ‘<a
   7.905 -    href="#writing-mode"><code class=property>writing-mode</code></a>’ is.
   7.906 -
   7.907 -   <div class=figure>
   7.908 -    <p><img
   7.909 -     alt="[Figure: the “head content edge” of     the child box the right edge, but the“headside content edge” is     the top.]"
   7.910 -     src=headside>
   7.911 -
   7.912 -    <p class=caption>The second child box is a vertical box and has its
   7.913 -     “head” content edge on the right. But its “headside” content
   7.914 -     edge is at the top.
   7.915 -   </div>
   7.916 -  </div>
   7.917 -
   7.918 -  <div class=issue>
   7.919 -   <p>[Alternative terminology:]
   7.920 -
   7.921 -   <p>Finally, the <dfn id=aprime>A′,</dfn> <dfn id=bprime>B′,</dfn> <dfn
   7.922 -    id=cprime>C′</dfn> and <dfn id=dprime>D′</dfn> sides of a box are
   7.923 -    defined as the sides that correspond to the <a
   7.924 -    href="#aprime"><em>A,</em></a> <a href="#bprime"><em>B,</em></a> <a
   7.925 -    href="#cprime"><em>C</em></a> and <a href="#dprime"><em>D</em></a> sides
   7.926 -    of the <a href="#containing-block"><em>containing block</em></a> of the
   7.927 -    box.
   7.928 -
   7.929 -   <div class=example>
   7.930 -    <p>For example, if a box has a ‘<a href="#writing-mode"><code
   7.931 -     class=property>writing-mode</code></a>’ of ‘<code
   7.932 -     class=css>horizontal-tb</code>’, then its top content edge acts as its
   7.933 -     <a href="#aprime"><em>A</em></a> content edge, and the <a
   7.934 -     href="#aprime"><em>A′</em></a> edges of its children are therefore
   7.935 -     their top edges, independent of what their own ‘<a
   7.936 -     href="#writing-mode"><code class=property>writing-mode</code></a>’ is.
   7.937 -     
   7.938 -
   7.939 -    <div class=figure>
   7.940 -     <p><img
   7.941 -      alt="[Figure: the “A content edge” of     the child box the right edge, but the “A′ content edge” is     the top.]"
   7.942 -      src=headside>
   7.943 -
   7.944 -     <p class=caption>The second child box is a vertical box and has its
   7.945 -      “A” content edge on the right. But its “A′” content edge is
   7.946 -      at the top.
   7.947 -    </div>
   7.948 -   </div>
   7.949 -   <!-- /figure --></div>
   7.950 -  <!-- /example -->
   7.951 -  <!-- /issue -->
   7.952 -
   7.953 -  <p class=issue>Check terms. At Cambridge ftf Aug 2008 we chose: Property
   7.954 -   name: block-flow with values tb | lr | rl | bt. Descriptive terms:
   7.955 -   horizontal mode (= tb &amp; bt), vertical mode (= lr &amp; rl). The May
   7.956 -   2012 Writing Modes module now has ‘<a href="#writing-mode"><code
   7.957 -   class=property>writing-mode</code></a>’ with values ‘<code
   7.958 -   class=css>horizontal-tb</code>’, ‘<code
   7.959 -   class=css>vertical-rl</code>’ and ‘<code
   7.960 -   class=css>vertical-lr</code>’ (and no ‘<code class=css>bt</code>’
   7.961 -   anymore).
   7.962 +  <p>An alternative term for the inline dimension is <dfn id=logical-width
   7.963 +   title="logical width|width!!logical">logical width</dfn> and an
   7.964 +   alternative term for block dimension is <dfn id=logical-height.
   7.965 +   title="logical height|height!!logical">logical height.</dfn> These terms
   7.966 +   occasionally occur in other CSS modules.
   7.967 +
   7.968 +  <p class=note>The block dimension of a box is thus the distance between the
   7.969 +   head and tail edges, while the inline dimension of the box is the distance
   7.970 +   between the start and end edges.
   7.971 +
   7.972 +  <p>When boxes are laid out in sequence to form a <a href="#flow0"><em
   7.973 +   class=index id=flow>flow</em></a> (see below), their edges play different
   7.974 +   roles in the alignment of the boxes within that flow. The orientation of
   7.975 +   the flow determines which edge of a box is aligned to which edge of
   7.976 +   another box. These roles are independent of the orientation of the box
   7.977 +   itself. We distinguish four roles for the edges of a box, called <dfn
   7.978 +   id=a-edge>A edge,</dfn> <dfn id=b-edge>B edge,</dfn> <dfn id=c-edge>C
   7.979 +   edge</dfn> and <dfn id=d-edge.>D edge.</dfn> They depend on the ‘<a
   7.980 +   href="#writing-mode"><code class=property>writing-mode</code></a>’ and
   7.981 +   ‘<a href="#direction"><code class=property>direction</code></a>’
   7.982 +   properties of the box's <a href="#containing-block0"><em class=index
   7.983 +   id=containing-block>containing block</em></a> (defined below), and map to
   7.984 +   the four sides as follows:
   7.985 +
   7.986 +  <table class=equiv-table>
   7.987 +   <thead>
   7.988 +    <tr>
   7.989 +     <th>‘<a href="#writing-mode"><code
   7.990 +      class=property>writing-mode</code></a>’ of <a
   7.991 +      href="#containing-block0"><em>containing block</em></a>
   7.992 +
   7.993 +     <th>‘<a href="#direction"><code class=property>direction</code></a>’
   7.994 +      of <a href="#containing-block0"><em>containing block</em></a>
   7.995 +
   7.996 +     <th>Meaning of “A”
   7.997 +
   7.998 +     <th>Meaning of “B”
   7.999 +
  7.1000 +     <th>Meaning of “C”
  7.1001 +
  7.1002 +     <th>Meaning of “D”
  7.1003 +
  7.1004 +   <tbody>
  7.1005 +    <tr>
  7.1006 +     <th rowspan=2>‘<code class=css>horizontal-tb</code>’
  7.1007 +
  7.1008 +     <th>‘<code class=css>ltr</code>’
  7.1009 +
  7.1010 +     <td>top
  7.1011 +
  7.1012 +     <td>right
  7.1013 +
  7.1014 +     <td>bottom
  7.1015 +
  7.1016 +     <td>left
  7.1017 +
  7.1018 +    <tr><!-- horizontal-tb -->
  7.1019 +
  7.1020 +     <th>‘<code class=css>rtl</code>’
  7.1021 +
  7.1022 +     <td>top
  7.1023 +
  7.1024 +     <td>left
  7.1025 +
  7.1026 +     <td>bottom
  7.1027 +
  7.1028 +     <td>right
  7.1029 +
  7.1030 +    <tr>
  7.1031 +     <th rowspan=2>‘<code class=css>vertical-rl</code>’
  7.1032 +
  7.1033 +     <th>‘<code class=css>ltr</code>’
  7.1034 +
  7.1035 +     <td>right
  7.1036 +
  7.1037 +     <td>bottom
  7.1038 +
  7.1039 +     <td>left
  7.1040 +
  7.1041 +     <td>top
  7.1042 +
  7.1043 +    <tr><!-- vertical-rl -->
  7.1044 +
  7.1045 +     <th>‘<code class=css>rtl</code>’
  7.1046 +
  7.1047 +     <td>right
  7.1048 +
  7.1049 +     <td>top
  7.1050 +
  7.1051 +     <td>left
  7.1052 +
  7.1053 +     <td>bottom
  7.1054 +
  7.1055 +    <tr>
  7.1056 +     <th rowspan=2>‘<code class=css>vertical-lr</code>’
  7.1057 +
  7.1058 +     <th>‘<code class=css>rtl</code>’
  7.1059 +
  7.1060 +     <td>left
  7.1061 +
  7.1062 +     <td>bottom
  7.1063 +
  7.1064 +     <td>right
  7.1065 +
  7.1066 +     <td>top
  7.1067 +
  7.1068 +    <tr><!-- vertical-lr -->
  7.1069 +
  7.1070 +     <th>‘<code class=css>ltr</code>’
  7.1071 +
  7.1072 +     <td>left
  7.1073 +
  7.1074 +     <td>top
  7.1075 +
  7.1076 +     <td>right
  7.1077 +
  7.1078 +     <td>bottom
  7.1079 +  </table>
  7.1080 +
  7.1081 +  <p class=note>For example, block-level boxes in a flow are laid out such
  7.1082 +   that the A edge of the first box is against the head edge of the
  7.1083 +   containing block and then the A edge of each subsequent box is put against
  7.1084 +   the C edge of its predecessor. For typical English text (i.e., <a
  7.1085 +   href="#horizontal"><em>horizontal</em></a> text), this means the top edge
  7.1086 +   (= A edge) of the first paragraph is at the top edge (= head edge) of the
  7.1087 +   document, the top (A edge) of the second paragraph is against the bottom
  7.1088 +   (C edge) of the first paragraph, and so on, until the bottom (C edge) of
  7.1089 +   the last paragraph becomes the bottom (tail edge) of the document.
  7.1090  
  7.1091    <h2 id=the-viewport-and-the-canvas><span class=secno>4. </span>The viewport
  7.1092     and the canvas</h2>
  7.1093 @@ -982,291 +1007,366 @@
  7.1094     where the formatting structure is rendered. The canvas is infinite for
  7.1095     each dimension of the space.
  7.1096  
  7.1097 -  <h2 id=aspect-ratios-of-replaced-elements><span class=secno>5.
  7.1098 -   </span>Aspect ratios of replaced elements</h2>
  7.1099 -
  7.1100 -  <p>For the purposes of the width and height calculations below, CSS
  7.1101 -   distinguishes four kinds of <a href="#replaced-element"><em class=index
  7.1102 -   id=replaced-elements title="replaced element">replaced elements</em></a>:
  7.1103 -
  7.1104 -  <dl>
  7.1105 -   <dt>Type 1: replaced elements with both <em class=index
  7.1106 -    id=intrinsic-width>intrinsic width</em> and <em class=index
  7.1107 -    id=intrinsic-height.>intrinsic height.</em>
  7.1108 -
  7.1109 -   <dd>These are replaced elements that are meant to be displayed with a
  7.1110 -    certain fixed factor (the <em>intrinsic ratio</em>) between their width
  7.1111 -    and height and also have a default size. Different formats may have
  7.1112 -    different ways of specifying the size, e.g., a width and a ratio, or a
  7.1113 -    raster and a resolution in dots per inch. Raster images fall in this
  7.1114 -    category.
  7.1115 -
  7.1116 -   <dt>Type 2: replaced elements with only an <em>intrinsic ratio</em>
  7.1117 -
  7.1118 -   <dd>These are replaced elements that are meant to be displayed with a
  7.1119 -    certain fixed factor between their width and height, but without a
  7.1120 -    default size. <span class=index id=svg>SVG</span> images often fall in
  7.1121 -    the this category.
  7.1122 -
  7.1123 -   <dt>Type 3: replaced elements with a <dfn id=complex-aspect-ratio>complex
  7.1124 -    aspect ratio</dfn>
  7.1125 -
  7.1126 -   <dd>These are replaced elements that do not have a <em>fixed</em> ratio
  7.1127 -    between their width and height, but that do have a functional relation
  7.1128 -    between them in the sense that for every width there is a unique height.
  7.1129 -    HTML documents are examples of this: the width can be chosen freely, but
  7.1130 -    at every width there is a definite intrinsic height.
  7.1131 -
  7.1132 -   <dt>Type 4: replaced elements without an intrinsic ratio
  7.1133 -
  7.1134 -   <dd>These are replaced elements that have no relation between their width
  7.1135 -    and height. Certain <span class=index id=svg0>SVG</span> images are
  7.1136 -    examples of this.
  7.1137 -  </dl>
  7.1138 -
  7.1139 -  <p>For <span class=index id=raster-images>raster images</span> without
  7.1140 -   reliable resolution information, a size of 1 px unit per image source
  7.1141 -   pixel must be assumed. These images thus are of type 1.
  7.1142 +  <h2 id=flows><span class=secno>5. </span>Flows</h2>
  7.1143 +
  7.1144 +  <p>The <dfn id=flow0>flow</dfn> (sometimes called <dfn
  7.1145 +   id=normal-flow>normal flow</dfn>) is one of the two basic kinds of layout
  7.1146 +   in CSS, together with line layout <a href="#CSS3LINE"
  7.1147 +   rel=biblioentry>[CSS3LINE]<!--{{CSS3LINE}}--></a>. It can be used, e.g.,
  7.1148 +   to layout a sequence of paragraphs, headings, lists and floated elements
  7.1149 +   in a single column. Other CSS modules, such as tables <a href="#CSS3TBL"
  7.1150 +   rel=biblioentry>[CSS3TBL]<!--{{CSS3TBL}}--></a>, positioning <a
  7.1151 +   href="#CSS3POS" rel=biblioentry>[CSS3POS]<!--{{CSS3POS}}--></a>, flex
  7.1152 +   boxes <a href="#CSS3-FLEXBOX"
  7.1153 +   rel=biblioentry>[CSS3-FLEXBOX]<!--{{CSS3-FLEXBOX}}--></a> and grid
  7.1154 +   templates <a href="#CSS3LAYOUT"
  7.1155 +   rel=biblioentry>[CSS3LAYOUT]<!--{{CSS3LAYOUT}}--></a>, build on the flow
  7.1156 +   model by defining ways to split a document into more than one flow and
  7.1157 +   positioning and aligning those flows in various ways on the canvas.
  7.1158 +
  7.1159 +  <p>A flow is constructed starting from a <span class=index id=box
  7.1160 +   title="flow root!!box">box</span> called the <dfn id=flow-root>flow
  7.1161 +   root</dfn> by the <a href="#construct-flow">rules below.</a> We say the
  7.1162 +   flow is <dfn id=channeled>channeled</dfn> by the flow root.
  7.1163 +
  7.1164 +  <p>The <dfn id=initial-flow title="initial flow|flow!!initial">initial
  7.1165 +   flow</dfn> is the flow that contains the root of the box tree.
  7.1166 +
  7.1167 +  <p>Despite not being a box, the <a
  7.1168 +   href="#initial-containing-block."><em>initial containing block</em></a> is
  7.1169 +   said to be the flow root of the initial flow.
  7.1170 +
  7.1171 +  <p class=issue id=pagination-issue>How do we model pagination? If a flow is
  7.1172 +   broken over two pages or columns, do we call it a single flow or two
  7.1173 +   flows? I.e., is the page box the flow root of the flow, or is the page box
  7.1174 +   something else, more like the viewport, which influences the layout of a
  7.1175 +   flow but isn't part of it?
  7.1176 +
  7.1177 +  <p>Only <a href="#block-container-box"><em
  7.1178 +   title="block container box">block container boxes</em></a> (defined below)
  7.1179 +   can be flow roots. (Which implies that the children of a flow root are
  7.1180 +   laid out in a <a href="#block-formatting-context"><em>block formatting
  7.1181 +   context.</em></a>)
  7.1182 +
  7.1183 +  <p>Several (combinations of) properties cause an element to generate boxes
  7.1184 +   that are flow roots. This module defines a few. Other modules may define
  7.1185 +   more.
  7.1186 +
  7.1187 +  <div class=note>
  7.1188 +   <p>For example, this module defines that any of the following make a box
  7.1189 +    into a flow root:
  7.1190 +
  7.1191 +   <ul>
  7.1192 +    <li>The value of ‘<a href="#float"><code
  7.1193 +     class=property>float</code></a>’ is not ‘<code
  7.1194 +     class=property>none</code>’.
  7.1195 +
  7.1196 +    <li>The used value of ‘<a href="#overflow1"><code
  7.1197 +     class=property>overflow</code></a>’ is not ‘<code
  7.1198 +     class=property>visible</code>’.
  7.1199 +     <!-- <li>The box is a table wrapper, a table cell, an inline block, or an
  7.1200 +  align box. -->
  7.1201 +     <!-- <li>The value of 'position' is 'absolute' or 'fixed' (see
  7.1202 +  [CSS3POS]). -->
  7.1203 +
  7.1204 +    <li>The box is vertical and its parent is horizontal. <span
  7.1205 +     class=issue>[Add link to the relevant section.]</span>
  7.1206 +
  7.1207 +    <li>The box is horizontal and its parent is vertical.
  7.1208 +     <!-- <li>The value of 'transform' is not 'none'. -->
  7.1209 +
  7.1210 +    <li>The value of ‘<a href="#child-align"><code
  7.1211 +     class=property>child-align</code></a>’ is not ‘<code
  7.1212 +     class=property>auto</code>’. <span class=issue>[If ‘<a
  7.1213 +     href="#child-align"><code class=property>child-align</code></a>’ is
  7.1214 +     adopted, rather than, say, ‘<code class=css>margin:
  7.1215 +     fill</code>’]</span>
  7.1216 +   </ul>
  7.1217 +
  7.1218 +   <p>The table layout module <a href="#CSS3TBL"
  7.1219 +    rel=biblioentry>[CSS3TBL]<!--{{CSS3TBL}}--></a> defines that a table cell
  7.1220 +    generates a box that is a flow root; the positioning module <a
  7.1221 +    href="#CSS3POS" rel=biblioentry>[CSS3POS]<!--{{CSS3POS}}--></a> defines
  7.1222 +    that an absolutely positioned element generates a flow root; the grid
  7.1223 +    template module <a href="#CSS3LAYOUT"
  7.1224 +    rel=biblioentry>[CSS3LAYOUT]<!--{{CSS3LAYOUT}}--></a> defines that a
  7.1225 +    template element generate several flow roots; and the transforms module
  7.1226 +    <a href="#CSS3-TRANSFORMS"
  7.1227 +    rel=biblioentry>[CSS3-TRANSFORMS]<!--{{CSS3-TRANSFORMS}}--></a> defines
  7.1228 +    that an element with a transform generates a flow root
  7.1229 +  </div>
  7.1230 +
  7.1231 +  <p class=mtb id=construct-flow>The flow of a given <a
  7.1232 +   href="#flow-root"><em>flow root</em></a> is a set of boxes. A box belongs
  7.1233 +   to the flow if all of the following are true:
  7.1234 +
  7.1235 +  <ol>
  7.1236 +   <li>The used value of its ‘<a href="#display0"><code
  7.1237 +    class=property>display</code></a>’ is ‘<code
  7.1238 +    class=css>block</code>’, ‘<code class=css>list-item</code>’ or
  7.1239 +    ‘<code class=css>table</code>’.
  7.1240 +
  7.1241 +   <li>The used value of its ‘<a href="#float"><code
  7.1242 +    class=property>float</code></a>’ is ‘<code class=css>none</code>’.
  7.1243 +
  7.1244 +   <li>The used value of its ‘<code class=property>position</code>’ is
  7.1245 +    ‘<code class=css>static</code>’ or ‘<code
  7.1246 +    class=css>relative</code>’.
  7.1247 +
  7.1248 +   <li>It is either a child of the flow root or a child of a box that belongs
  7.1249 +    to the flow.
  7.1250 +  </ol>
  7.1251 +
  7.1252 +  <p class=note>Note that the flow root is itself not part of the flow it
  7.1253 +   channels and that each flow root channels at most one flow.
  7.1254 +
  7.1255 +  <p class=note>Note that the last rule above implies that a flow with its
  7.1256 +   flow root together are always a connected subset of the box tree. In other
  7.1257 +   words; together, they form a subtree of the box tree with possibly some
  7.1258 +   branches removed.
  7.1259 +
  7.1260 +  <p class=note>Note that the element tree and the box tree are not
  7.1261 +   necessarily parallel: the element a box belongs to need not be the child
  7.1262 +   of the element that generated the box's parent. E.g., run-in elements may
  7.1263 +   generate boxes that become children of boxes from sibling elements; and
  7.1264 +   the ‘<a href="#flow0"><code class=property>flow</code></a>’ property
  7.1265 +   <a href="#CSS3LAYOUT"
  7.1266 +   rel=biblioentry>[CSS3LAYOUT]<!--{{CSS3LAYOUT}}--></a> and the ‘<code
  7.1267 +   class=property>position</code>’ property <a href="#CSS3POS"
  7.1268 +   rel=biblioentry>[CSS3POS]<!--{{CSS3POS}}--></a> may cause an element to
  7.1269 +   generate a box that becomes the child of a box from a grandparent or other
  7.1270 +   ancestor element. E.g., ‘<code class=css>DIV {flow: b}</code>’ (see <a
  7.1271 +   href="#CSS3LAYOUT" rel=biblioentry>[CSS3LAYOUT]<!--{{CSS3LAYOUT}}--></a>)
  7.1272 +   makes the DIV generate boxes that become children of the box generated by
  7.1273 +   slot b in some ancestor. And ‘<code class=css>DIV {position:
  7.1274 +   absolute}</code>’ causes the DIV to generate a box that becomes a child
  7.1275 +   of the box generated by the ancestor that established the DIV's <a
  7.1276 +   href="#containing-block0"><em>containing block.</em></a>
  7.1277  
  7.1278    <div class=example>
  7.1279 -   <p>E.g., in the section on <a href="#inline-replaced">inline replaced
  7.1280 -    elements,</a> if the replaced element is an HTML document and the height
  7.1281 -    is specified as ‘<code class=css>auto</code>’, e.g.:
  7.1282 -
  7.1283 -   <pre>
  7.1284 -... &lt;object data="example.html"
  7.1285 -      style="width: 30em; height: auto">&lt;/object>...
  7.1286 -</pre>
  7.1287 -
  7.1288 -   <p>then the used height will be 150px, which is unlikely to be the real
  7.1289 -    height of the example.html document. But if the height is specified as
  7.1290 -    ‘<code class=css>complex</code>’, e.g.:
  7.1291 -
  7.1292 -   <pre>
  7.1293 -... &lt;object data="example.html"
  7.1294 -      style="width: 30em; height: complex">&lt;/object>...
  7.1295 -</pre>
  7.1296 -
  7.1297 -   <p>then the height will be the height the example.html document normally
  7.1298 -    has when displayed on its own with the given width. This enables almost
  7.1299 -    seamless integration of external text in a document, without a scrollbar
  7.1300 -    or similar. (The external text is still displayed with its own style
  7.1301 -    sheet.)
  7.1302 +   <p>For example, the fragment
  7.1303 +
  7.1304 +   <pre>&lt;div class=sidebar&gt;
  7.1305 + &lt;p&gt;Text in a sidebar.
  7.1306 + &lt;p&gt;Here is quote:
  7.1307 + &lt;blockquote lang=ja&gt;
  7.1308 +  &lt;p&gt;...
  7.1309 + &lt;/blockquote&gt;
  7.1310 + &lt;p&gt;Etc. etc.
  7.1311 +&lt;/div&gt; </pre>
  7.1312 +
  7.1313 +   <p>with the style
  7.1314 +
  7.1315 +   <pre>div.sidebar { writing-mode: tb; float: left }
  7.1316 +blockquote[lang|=ja] { writing-mode: rl; height: 10em }</pre>
  7.1317 +
  7.1318 +   <p>defines two flows:
  7.1319 +
  7.1320 +   <ol>
  7.1321 +    <li>The <code>div</code> is a flow root, because it floats. Its flow
  7.1322 +     consist of the 1st, 2nd and 4th <code>p</code> and the
  7.1323 +     <code>blockquote</code>.
  7.1324 +
  7.1325 +    <li>The <code>blockquote</code> is a <a
  7.1326 +     href="#vertical."><em>vertical</em></a> box inside a <a
  7.1327 +     href="#horizontal"><em>horizontal</em></a> parent and it is thus a flow
  7.1328 +     root. Its flow is formed by the 3rd <code>p</code>.
  7.1329 +   </ol>
  7.1330 +
  7.1331 +   <p>(The <code>div</code> itself belongs to a third flow, but its flow root
  7.1332 +    is not shown in the fragment.)
  7.1333    </div>
  7.1334  
  7.1335 -  <div class=example>
  7.1336 -   <p>An (external) mathematical formula in MathML is an example of replaced
  7.1337 -    content with an intrinsic width and height. Assume the file m.mml
  7.1338 -    contains a formula, then the HTML fragment
  7.1339 -
  7.1340 -   <pre>
  7.1341 -... derive &lt;img src="m.mml"
  7.1342 -alt="that the sum of p(i) for i greater than 0 equals N">
  7.1343 -for the case...
  7.1344 -</pre>
  7.1345 -
  7.1346 -   <p>renders the formula at its intrinsic size.
  7.1347 -  </div>
  7.1348 -
  7.1349 -  <p class=issue>The mathematical formula would however benefit from a way to
  7.1350 -   negotiate available space against intrinsic size, or even negotiate
  7.1351 -   available space against the number of boxes, so that the formula could be
  7.1352 -   broken in two or more boxes and occupy space on two or more lines (similar
  7.1353 -   to how lines of text are broken or words are hyphenated). But an easier
  7.1354 -   solution might be to extend HTML with native support for math and CSS with
  7.1355 -   math boxes, so that replaced elements remain single boxes.
  7.1356 -
  7.1357 -  <h2 id=basic-flow-layout><span class=secno>6. </span>Basic flow layout</h2>
  7.1358 -
  7.1359 -  <p>As described in the introduction, elements give rise to boxes and those
  7.1360 -   boxes are laid out on a <a href="#canvas"><em>canvas.</em></a> Different
  7.1361 -   kinds of boxes are laid out differently. This section describes the layout
  7.1362 -   of one <a href="#flow"><em>flow</em></a> of boxes.
  7.1363 -
  7.1364 -  <p>The approximate model for the layout of a flow of boxes is that sibling
  7.1365 -   boxes are laid out one after the other in one long series with margins
  7.1366 -   between them and parent boxes tightly wrap the series of child boxes. The
  7.1367 -   ‘<a href="#writing-mode"><code class=property>writing-mode</code></a>’
  7.1368 -   property of the parent determines if that series grows down (‘<code
  7.1369 -   class=css>tb</code>’), to the left (‘<code class=css>rl</code>’), to
  7.1370 -   the right (‘<code class=css>lr</code>’) or up (‘<code
  7.1371 -   class=css>bt</code>’). Although the rules below depend on terms that are
  7.1372 -   only defined further down, the rules are given at the outset, to provide
  7.1373 -   at least an approximate model of how boxes are positioned relative to one
  7.1374 -   another.
  7.1375 -
  7.1376 -  <p>The following rules define the position of <a
  7.1377 -   href="#block-level"><em>block-level</em></a> boxes relative to the box
  7.1378 -   that is their <a href="#flow-root"><em>flow root.</em></a> Other sections
  7.1379 -   and other modules describe how other boxes are laid out. E.g., floating
  7.1380 -   boxes are described further down in this module and absolutely positioned
  7.1381 -   boxes are described in the Absolute Positioning module <a href="#CSS3POS"
  7.1382 -   rel=biblioentry>[CSS3POS]<!--{{CSS3POS}}--></a>.
  7.1383 -
  7.1384 -  <p>Before applying these rules, the width, height and margins of each box
  7.1385 -   must be computed as described in the sections <a
  7.1386 -   href="#Calculating">“Calculating widths, heights and margins”</a> and
  7.1387 -   <a href="#Collapsing">“Collapsing margins.”</a>
  7.1388 -
  7.1389 -  <ul>
  7.1390 -   <li>
  7.1391 -    <p>Consider the first box (in document order) of a set of sibling boxes
  7.1392 -     that all belong to the same flow. There are four cases:
  7.1393 -
  7.1394 +  <p class=note>Note that a flow root is not necessarily block-level, it may
  7.1395 +   be an ‘<code class=css>inline-block</code>’, e.g.
  7.1396 +
  7.1397 +  <p class=note>Note that a box belongs to at most one flow. (Some boxes do
  7.1398 +   not belong to any flow, because they are part of a different kind of
  7.1399 +   layout, such as table layout.)
  7.1400 +
  7.1401 +  <p>An element that generates a flow root box is itself also called a <span
  7.1402 +   class=index id=flow-root. title="flow root!!element">flow root.</span>
  7.1403 +
  7.1404 +  <p class=note>Note: The terminology in the CSS level 2 specification is
  7.1405 +   different. A flow root is called “an element that establishes a <span
  7.1406 +   class=index id=new-formatting-context.
  7.1407 +   title="formatting context|new formatting context">new formatting
  7.1408 +   context.</span>”
  7.1409 +
  7.1410 +  <p class=note>A consequence of this terminology is that an <a
  7.1411 +   href="#elements."><em>element,</em></a> unlike a box, can be the flow root
  7.1412 +   of several flows. E.g., template elements <a href="#CSS3LAYOUT"
  7.1413 +   rel=biblioentry>[CSS3LAYOUT]<!--{{CSS3LAYOUT}}--></a> generate several
  7.1414 +   flow root boxes. Depending on what properties are set on a list item and
  7.1415 +   on its marker pseudo-element, a list item can also generate zero, one or
  7.1416 +   two flow roots. <!--
  7.1417 +<p class=mtb>The following rules define the position of
  7.1418 +<em>block-level</em> boxes relative to the box that is their <em>flow
  7.1419 +root.</em> Other sections and other modules describe how other boxes
  7.1420 +are laid out. E.g., floating boxes are described further down in this
  7.1421 +module and absolutely positioned boxes are described in the Absolute
  7.1422 +Positioning module [[CSS3POS]].
  7.1423 +
  7.1424 +<p>Before applying these rules, the width, height and margins of each
  7.1425 +box must be computed as described in the sections <a
  7.1426 +href="#Calculating">“Calculating widths, heights and margins”</a>
  7.1427 +and <a href="#Collapsing">“Collapsing margins.”</a>
  7.1428 +
  7.1429 +<ul>
  7.1430 +  <li>
  7.1431 +    <p>Consider the first box (in document order) of a set of sibling
  7.1432 +    boxes that all belong to the same flow. There are four cases:
  7.1433      <ol>
  7.1434 -     <li>
  7.1435 -      <p>If none of its margins <a href="#collapse.">collapse</a> with its
  7.1436 -       parent's <a href="#head">head</a> margin and the box is not <a
  7.1437 -       href="#collapsed-through">collapsed through,</a> then the box is
  7.1438 -       placed such that the box's <a href="#headside">headside</a> <a
  7.1439 -       href="#margin-edge.">margin edge</a> touches the parent's <a
  7.1440 -       href="#head">head</a> <a href="#content-edge.">content edge</a>, the
  7.1441 -       <a href="#startside">startside</a> <a href="#margin-edge.">margin
  7.1442 -       edge</a> touches the parent's <a href="#start">start</a> <a
  7.1443 -       href="#content-edge.">content edge</a> and the <a
  7.1444 -       href="#endside">endside</a> <a href="#margin-edge.">margin edge</a>
  7.1445 -       touches the parent's <a href="#end">end</a> <a
  7.1446 -       href="#content-edge.">content edge.</a>
  7.1447 -
  7.1448 -      <p class=issue>[Add illustration.]
  7.1449 -
  7.1450 -      <p class=issue>[Alternative terminology:] If none of its margins <a
  7.1451 -       href="#collapse.">collapse</a> with its parent's <a
  7.1452 -       href="#aprime">A</a> margin and the box is not <a
  7.1453 -       href="#collapsed-through">collapsed through,</a> then the box is
  7.1454 -       placed such that the box's <a href="#aprime">A′</a> <a
  7.1455 -       href="#margin-edge.">margin edge</a> touches the parent's <a
  7.1456 -       href="#aprime">A</a> <a href="#content-edge.">content edge</a>, the <a
  7.1457 -       href="#dprime">D′</a> <a href="#margin-edge.">margin edge</a>
  7.1458 -       touches the parent's <a href="#dprime">D</a> <a
  7.1459 -       href="#content-edge.">content edge</a> and the <a
  7.1460 -       href="#bprime">B′</a> <a href="#margin-edge.">margin edge</a>
  7.1461 -       touches the parent's <a href="#bprime">B</a> <a
  7.1462 -       href="#content-edge.">content edge.</a>
  7.1463 -
  7.1464 -     <li>
  7.1465 -      <p>If none of its margins <a href="#collapse.">collapse</a> with its
  7.1466 -       parent's <a href="#head">head</a> margin but the box is <a
  7.1467 -       href="#collapsed-through">collapsed through,</a> then its <a
  7.1468 -       href="#content-edge.">content edge</a> (which is also its <a
  7.1469 -       href="#border-edge.">border edge</a> and <a
  7.1470 -       href="#padding-edge.">padding edge</a>) is defined as what it would
  7.1471 -       have been if the box had a non-zero <a href="#tailside">tailside</a>
  7.1472 -       border. (I.e., recompute the margins given that border and then apply
  7.1473 -       the previous rule.)
  7.1474 -
  7.1475 -      <p class=note>Note that the box is effectively invisible, but the edges
  7.1476 -       have to be defined to position any descendants, such as floating or
  7.1477 -       absolutely positioned children.
  7.1478 -
  7.1479 -     <li>
  7.1480 -      <p>If exactly one of its margins collapses with its parent's <a
  7.1481 -       href="#head">head</a> margin, then the box is placed such that the
  7.1482 -       box's <a href="#headside">headside</a> <a href="#border-edge.">border
  7.1483 -       edge</a> touches the parent's <a href="#head">head</a> <a
  7.1484 -       href="#content-edge.">content edge,</a> the <a
  7.1485 -       href="#startside">startside</a> <a href="#margin-edge.">margin
  7.1486 -       edge</a> touches the parent's <a href="#start">start</a> <a
  7.1487 -       href="#content-edge.">content edge</a> and the <a
  7.1488 -       href="#endside">endside</a> <a href="#margin-edge.">margin edge</a>
  7.1489 -       touches the parent's <a href="#end">end</a> <a
  7.1490 -       href="#content-edge.">content edge.</a>
  7.1491 -
  7.1492 -      <p class=issue>[Add illustration.]
  7.1493 -
  7.1494 -     <li>
  7.1495 -      <p>If two of its margins collapse with its parent's <a
  7.1496 -       href="#head">head</a> margin, then its position is such that its <a
  7.1497 -       href="#content-edge.">content edge</a> (which is also its <a
  7.1498 -       href="#border-edge.">border edge</a>) touches its parent's <a
  7.1499 -       href="#head">head</a> <a href="#border-edge.">border edge</a> and that
  7.1500 -       its <a href="#startside">startside</a> <a href="#margin-edge.">margin
  7.1501 -       edge</a> touches its parent's <a href="#start">start</a> <a
  7.1502 -       href="#content-edge.">content edge</a> and its <a
  7.1503 -       href="#endside">endside</a> <a href="#margin-edge.">margin edge</a>
  7.1504 -       touches the parent's <a href="#end">end</a> <a
  7.1505 -       href="#content-edge.">content edge.</a>
  7.1506 -
  7.1507 -      <p class=note>Note that the box is effectively invisible, but the edges
  7.1508 -       have to be defined to position any descendants.
  7.1509 +      <li>
  7.1510 +        <p>If none of its margins <span>collapse</span> with its
  7.1511 +        parent's <span>head</span> margin and the box is not
  7.1512 +        <span>collapsed through,</span> then the box is placed such
  7.1513 +        that the box's margin <span>A edge</span> coincides with the
  7.1514 +        parent's <span>head</span> <span>content edge</span>, the
  7.1515 +        margin <span>D edge</span> touches the parent's
  7.1516 +        <span>start</span> <span>content edge</span> and the margin
  7.1517 +        <span>B edge</span> touches the parent's <span>end</span>
  7.1518 +        <span>content edge.</span>
  7.1519 +
  7.1520 +	<div class=figure>
  7.1521 +	  <p><img src="flow1.png" alt="For example:">
  7.1522 +
  7.1523 +	  <p class=caption>In a <em>horizontal</em> <em>containing
  7.1524 +	  block,</em> the top edge (<em>head</em> edge) is used to
  7.1525 +	  position the top edge (<em>A edge</em>) of the first
  7.1526 +	  block-level box. Its left and right edges coincide with the
  7.1527 +	  left and right edges of the block-level box.
  7.1528 +	</div>
  7.1529 +
  7.1530 +      <li>
  7.1531 +        <p>If none of its margins <span>collapse</span> with its
  7.1532 +        parent's <span>head</span> margin but the box
  7.1533 +        is <span>collapsed through,</span> then its <span>content
  7.1534 +        edge</span> (which is also its <span>border edge</span>
  7.1535 +        and <span>padding edge</span>) is defined as what it would
  7.1536 +        have been if the box had a non-zero <span>tailside</span>
  7.1537 +        border. (I.e., recompute the margins given that border and
  7.1538 +        then apply the previous rule.)
  7.1539 +
  7.1540 +        <p class=note>Note that the box is effectively invisible, but
  7.1541 +        the edges have to be defined to position any descendants, such
  7.1542 +        as floating or absolutely positioned children.
  7.1543 +
  7.1544 +      <li>
  7.1545 +        <p>If its <span title="A edge">A</span> margin collapses with
  7.1546 +        its parent's <span>head</span> margin, then the box is placed
  7.1547 +        such that the <span>A edge</span> of the box's border touches
  7.1548 +        the parent's <span>head</span> <span>content edge,</span> the
  7.1549 +        <span>D edge</span> of the box's margin touches the parent's
  7.1550 +        <span>start</span> <span>content edge</span> and the <span>B
  7.1551 +        edge</span> of the box's margin touches the parent's
  7.1552 +        <span>end</span> <span>content edge.</span>
  7.1553 +
  7.1554 +        <p class=issue>[Add illustration.]
  7.1555 +
  7.1556 +      <li>
  7.1557 +        <p>If two of its margins collapse with its parent's
  7.1558 +        <span>head</span> margin, then its position is such that its
  7.1559 +        <span>content edge</span> (which is also its <span>border
  7.1560 +        edge</span>) touches its parent's <span>head</span>
  7.1561 +        <span>border edge</span> and that the <span>D edge</span> of
  7.1562 +        its margin touches its parent's <span>start</span>
  7.1563 +        <span>content edge</span> and the <span>B edge</span> of its
  7.1564 +        margin touches the parent's <span>end</span> <span>content
  7.1565 +        edge.</span>
  7.1566 +
  7.1567 +        <p class=note>Note that the box is effectively invisible, but
  7.1568 +        the edges have to be defined to position any descendants.
  7.1569      </ol>
  7.1570  
  7.1571 -   <li>
  7.1572 -    <p>For a box that has a preceding sibling in the same flow there are two
  7.1573 -     cases:
  7.1574 -
  7.1575 +  <li>
  7.1576 +    <p>For a box that has a preceding sibling in the same flow there
  7.1577 +    are two cases:
  7.1578      <ol>
  7.1579 -     <li>
  7.1580 -      <p>If the box is not <a href="#collapsed-through">collapsed
  7.1581 -       through,</a> it is positioned such that its <a
  7.1582 -       href="#margin-edge.">margin edge</a> touches the parent's <a
  7.1583 -       href="#start">start</a> <a href="#content-edge.">content edge</a> and
  7.1584 -       <a href="#end">end</a> <a href="#content-edge.">content edge</a> and
  7.1585 -       such that its content edge on the touches the <span
  7.1586 -       class=issue>[...]</span>
  7.1587 -
  7.1588 -     <li>
  7.1589 -      <p>A box that has a preceding sibling in the same flow and that is <a
  7.1590 -       href="#collapsed-through">collapsed through,</a> <span
  7.1591 -       class=issue>[...]</span>
  7.1592 -    </ol>
  7.1593 -  </ul>
  7.1594 -
  7.1595 -  <h2 id=types-of-boxes><span class=secno>7. </span>Types of boxes</h2>
  7.1596 +      <li>
  7.1597 +        <p>If the box is not <span>collapsed through,</span> it is
  7.1598 +        positioned such that the <span>D edge</span> of its margin
  7.1599 +        touches the parent's <span>start</span> <span>content
  7.1600 +        edge,</span> the <span>B edge</span> of its margin touches the
  7.1601 +        parent's <span>end</span> <span>content edge</span> and the
  7.1602 +        <span>A edge</span> of its border box is at a distance from
  7.1603 +        the <span>C edge</span> of the preceding sibling's border box
  7.1604 +        equal to the combined thickness of the margins that collapse
  7.1605 +        at that edge.
  7.1606 +
  7.1607 +    <li>
  7.1608 +      <p>A box that has a preceding sibling in the same flow and that
  7.1609 +      is <span>collapsed
  7.1610 +      through,</span> <span class=issue>[...]</span>
  7.1611 +  </ol>
  7.1612 +</ul>
  7.1613 +-->
  7.1614 +
  7.1615 +  <h2 id=types-of-boxes><span class=secno>6. </span>Types of boxes</h2>
  7.1616  
  7.1617    <p>The layout of boxes in the flow is in large part determined by the
  7.1618     interplay of the ‘<a href="#display0"><code
  7.1619     class=property>display</code></a>’ properties of an element and its
  7.1620     parent, and then fine-tuned with margins and padding.
  7.1621  
  7.1622 -  <h3 id=display><span class=secno>7.1. </span>The display property</h3>
  7.1623 +  <h3 id=display><span class=secno>6.1. </span>The display property</h3>
  7.1624  
  7.1625    <table class=propdef>
  7.1626     <tbody>
  7.1627      <tr>
  7.1628 -     <td>Name:
  7.1629 +     <th>Name:
  7.1630  
  7.1631       <td><dfn id=display0>display</dfn>
  7.1632  
  7.1633      <tr>
  7.1634 -     <td>Value:
  7.1635 +     <th>Value:
  7.1636  
  7.1637       <td>inline | block | inline-block | list-item | run-in | compact | table
  7.1638        | inline-table | table-row-group | table-header-group |
  7.1639        table-footer-group | table-row | table-column-group | table-column |
  7.1640        table-cell | table-caption | ruby | ruby-base | ruby-text |
  7.1641 -      ruby-base-group | ruby-text-group | align-box | none
  7.1642 -
  7.1643 -    <tr>
  7.1644 -     <td>Initial:
  7.1645 +      ruby-base-group | ruby-text-group | container | none
  7.1646 +
  7.1647 +    <tr>
  7.1648 +     <th>Initial:
  7.1649  
  7.1650       <td>inline
  7.1651  
  7.1652      <tr>
  7.1653 -     <td>Applies to:
  7.1654 +     <th>Applies to:
  7.1655  
  7.1656       <td>all elements
  7.1657  
  7.1658      <tr>
  7.1659 -     <td>Inherited:
  7.1660 +     <th>Inherited:
  7.1661  
  7.1662       <td>no
  7.1663  
  7.1664      <tr>
  7.1665 -     <td>Percentages:
  7.1666 +     <th>Animatable:
  7.1667 +
  7.1668 +     <td>no
  7.1669 +
  7.1670 +    <tr>
  7.1671 +     <th>Percentages:
  7.1672  
  7.1673       <td>N/A
  7.1674  
  7.1675      <tr>
  7.1676 -     <td>Media:
  7.1677 +     <th>Media:
  7.1678  
  7.1679       <td>visual (‘<code class=css>none</code>’ applies to all media)
  7.1680  
  7.1681      <tr>
  7.1682 -     <td>Computed value:
  7.1683 +     <th>Computed value:
  7.1684  
  7.1685       <td>specified value, except for floats, root elements and positioned
  7.1686        elements; see text
  7.1687 +
  7.1688 +    <tr>
  7.1689 +     <th>Canonical order:
  7.1690 +
  7.1691 +     <td>N/A
  7.1692    </table>
  7.1693  
  7.1694    <p class=issue>There is an old proposal to split ‘<a
  7.1695 @@ -1295,21 +1395,30 @@
  7.1696    <dl>
  7.1697     <dt>inline
  7.1698  
  7.1699 -   <dd>Inline boxes.
  7.1700 +   <dd>One or more <a href="#inline-level"><em>inline-level,</em></a>
  7.1701 +    <em>inline container</em> boxes. (There may be more than one, e.g., if
  7.1702 +    the element is broken over two lines or if bidi reordering causes some of
  7.1703 +    the text in the content to be displayed after the text of some other
  7.1704 +    element.)
  7.1705  
  7.1706     <dt>block
  7.1707  
  7.1708 -   <dd>Block boxes.
  7.1709 +   <dd>One or more <a href="#block-level"><em>block-level,</em></a> <em>block
  7.1710 +    container</em> boxes. (There may be more than one box, e.g., if the
  7.1711 +    element is broken over two columns or pages.)
  7.1712  
  7.1713     <dt>inline-block
  7.1714  
  7.1715 -   <dd>A block box, which itself is flowed as a single inline box, similar to
  7.1716 -    a replaced element. The inside of an inline-block is formatted as a block
  7.1717 -    box, and the box itself is formatted as an inline box.
  7.1718 +   <dd>An <em>atomic,</em> <a href="#inline-level"><em>inline-level,</em></a>
  7.1719 +    <em>block container</em> box. (In other words: the inside of an
  7.1720 +    inline-block is formatted as a block box, and the box itself is formatted
  7.1721 +    as an inline box.) The box is a <a href="#flow-root"><em>flow
  7.1722 +    root.</em></a>
  7.1723  
  7.1724     <dt>list-item
  7.1725  
  7.1726 -   <dd>One or more block boxes and one marker box. Marker boxes are defined
  7.1727 +   <dd>One or more <a href="#block-level"><em>block-level,</em></a> <em>block
  7.1728 +    container</em> boxes and an optional marker box. Marker boxes are defined
  7.1729      in the Lists module <a href="#CSS3LIST"
  7.1730      rel=biblioentry>[CSS3LIST]<!--{{CSS3LIST}}--></a>. <span class=issue>If
  7.1731      the Lists module is not ready, define the position of the marker and the
  7.1732 @@ -1317,16 +1426,20 @@
  7.1733  
  7.1734     <dt>run-in
  7.1735  
  7.1736 -   <dd>Either block or inline boxes, depending on context (see <a
  7.1737 -    href="#run-in-boxes">Run-in boxes</a>). Properties apply to run-in boxes
  7.1738 -    based on their final status (<a href="#inline-level">inline-level</a> or
  7.1739 -    <a href="#block-level">block-level</a>).
  7.1740 +   <dd>Either one or more <a href="#block-level"><em>block-level,</em></a>
  7.1741 +    <em>block container</em> boxes, or one or more <a
  7.1742 +    href="#inline-level"><em>inline-level,</em></a> <em>inline container</em>
  7.1743 +    boxes, depending on context (see <a href="#run-in-boxes">Run-in
  7.1744 +    boxes</a>). Properties apply to run-in boxes based on their final status
  7.1745 +    (<a href="#inline-level">inline-level</a> or <a
  7.1746 +    href="#block-level">block-level</a>).
  7.1747  
  7.1748     <dt>compact
  7.1749  
  7.1750 -   <dd>Either block boxes or a marker box, depending on context (see <a
  7.1751 -    href="#compact-boxes">Compact boxes</a>). Properties apply to compact
  7.1752 -    boxes based on their final status.
  7.1753 +   <dd>Either one or more <a href="#block-level"><em>block-level,</em></a>
  7.1754 +    <em>block container</em> boxes or a single marker box, depending on
  7.1755 +    context (see <a href="#compact-boxes">Compact boxes</a>). Properties
  7.1756 +    apply to compact boxes based on their final status.
  7.1757  
  7.1758     <dt>table, inline-table, table-row-group, table-header-group,
  7.1759      table-footer-group, table-row, table-column-group, table-column,
  7.1760 @@ -1340,7 +1453,7 @@
  7.1761     <dd>See the Ruby module <a href="#CSS3RUBY"
  7.1762      rel=biblioentry>[CSS3RUBY]<!--{{CSS3RUBY}}--></a>.
  7.1763  
  7.1764 -   <dt>align-box <span class=issue>or container?</span>
  7.1765 +   <dt>container <span class=issue>or align-box?</span>
  7.1766  
  7.1767     <dd>Like ‘<code class=css>block</code>’, but forces the element to be
  7.1768      a <a href="#flow-root"><em>flow root,</em></a>, which, e.g., stops its
  7.1769 @@ -1368,16 +1481,16 @@
  7.1770  
  7.1771    <p class=note>Note that both ‘<a href="#clear-after"><code
  7.1772     class=property>clear-after</code></a>’ and ‘<code
  7.1773 -   class=css>align-box</code>’ can be used to force the next element after
  7.1774 +   class=css>container</code>’ can be used to force the next element after
  7.1775     this one to start after any floats inside this element, but the effect is
  7.1776 -   not exactly the same. E.g., ‘<code class=css>display: box</code>’ also
  7.1777 -   affects certain forms of margin collapsing.
  7.1778 -
  7.1779 -  <p class=note>Note that ‘<code class=css>vertical-al ign</code>’
  7.1780 -   applies to ‘<code class=css>align-box</code>’ elements, hence the
  7.1781 -   name. The ‘<code class=property>vertical-align</code>’ property
  7.1782 -   doesn't apply to other block-level elements, except ‘<code
  7.1783 -   class=css>table-cell</code>’ elements.
  7.1784 +   not exactly the same. E.g., ‘<code class=css>display:
  7.1785 +   container</code>’ also affects certain forms of margin collapsing.
  7.1786 +
  7.1787 +  <p class=note>Note that ‘<code class=property>vertical-align</code>’
  7.1788 +   applies to ‘<code class=css>container</code>’ elements. The ‘<code
  7.1789 +   class=property>vertical-align</code>’ property doesn't apply to other
  7.1790 +   block-level elements, except ‘<code class=css>table-cell</code>’
  7.1791 +   elements.
  7.1792  
  7.1793    <p class=issue>Any sense in vertically spreading out the contents,
  7.1794     something like ‘<code class=css>vertical-align: justify</code>’?
  7.1795 @@ -1389,7 +1502,7 @@
  7.1796  
  7.1797    <div class=example>
  7.1798     <p>The ‘<code class=property>vertical-align</code>’ property applies
  7.1799 -    to ‘<code class=css>align-box</code>’ elements <span
  7.1800 +    to ‘<code class=css>container</code>’ elements <span
  7.1801      class=issue>[check in <a href="#CSS3TEXT"
  7.1802      rel=biblioentry>[CSS3TEXT]<!--{{!CSS3TEXT}}--></a>!]</span>, and can thus
  7.1803      be used to create vertically centered content, without wrapping the
  7.1804 @@ -1399,7 +1512,7 @@
  7.1805  
  7.1806     <pre>
  7.1807  div.slide {
  7.1808 -  display: align-box;
  7.1809 +  display: container;
  7.1810    height: 15em;
  7.1811    vertical-align: middle;
  7.1812    border: thin solid }
  7.1813 @@ -1424,7 +1537,7 @@
  7.1814       src=align-box.png>
  7.1815  
  7.1816      <p class=caption>The ‘<code class=css>vertical-align: middle</code>’
  7.1817 -     causes the content of the ‘<code class=css>align-box</code>’ to be
  7.1818 +     causes the content of the ‘<code class=css>container</code>’ to be
  7.1819       vertically centered.
  7.1820     </div>
  7.1821    </div>
  7.1822 @@ -1484,12 +1597,12 @@
  7.1823      class=property>display</code></a>’ is the same as the specified value.
  7.1824    </ol>
  7.1825  
  7.1826 -  <h3 id=mixing-the-box-model-with-other-formatti><span class=secno>7.2.
  7.1827 +  <h3 id=mixing-the-box-model-with-other-formatti><span class=secno>6.2.
  7.1828     </span>Mixing the box model with other formatting models</h3>
  7.1829  
  7.1830    <p>There may be documents that combine different layout models, such as
  7.1831     documents that combine HTML (typically rendered with the CSS box model)
  7.1832 -   and <span class=index id=svg1>SVG</span> (rendered with its own graphics
  7.1833 +   and <span class=index id=svg>SVG</span> (rendered with its own graphics
  7.1834     model). If an element that is rendered according to the CSS box model has
  7.1835     a child that is to be rendered with a different model, that child needs to
  7.1836     have a ‘<a href="#display0"><code class=property>display</code></a>’
  7.1837 @@ -1509,13 +1622,13 @@
  7.1838     indicate that an element is formatted according to a different model than
  7.1839     the box model, but separate specifications may do so.
  7.1840  
  7.1841 -  <h3 id=block-level-boxes-containing-blocks-flow><span class=secno>7.3.
  7.1842 +  <h3 id=block-level-boxes-containing-blocks-flow><span class=secno>6.3.
  7.1843     </span>Block-level boxes, containing blocks, flows and anonymous boxes</h3>
  7.1844  
  7.1845    <p>A <dfn id=block-level>block-level</dfn> box is a box that has a <a
  7.1846     href="#computed-value">computed value</a> for ‘<a href="#display0"><code
  7.1847     class=property>display</code></a>’ of ‘<code
  7.1848 -   class=css>block</code>’, ‘<code class=css>align-box</code>’,
  7.1849 +   class=css>block</code>’, ‘<code class=css>container</code>’,
  7.1850     ‘<code class=css>list-item</code>’, ‘<code
  7.1851     class=css>table</code>’, ‘<code class=css>table-*</code>’ (i.e., all
  7.1852     table boxes, see <a href="#CSS3TBL"
  7.1853 @@ -1575,62 +1688,11 @@
  7.1854      class=css>block</code>’.
  7.1855    </ul>
  7.1856  
  7.1857 -  <div class=example>
  7.1858 -   <p>An example of the last point above is this document fragment:
  7.1859 -
  7.1860 -   <pre>&lt;p&gt;Somebody whose name I have
  7.1861 -forgotten, said, long ago: &lt;q&gt;a box is
  7.1862 -a box,&lt;/q&gt; and he probably meant it.&lt;/p&gt;</pre>
  7.1863 -
  7.1864 -   <p>with these style rules:
  7.1865 -
  7.1866 -   <pre>p { display: block }
  7.1867 -q { display: block; margin: 1em }</pre>
  7.1868 -
  7.1869 -   <p>The <code>p</code> element has both line boxes and a child box for the
  7.1870 -    <code>q</code> element, which is a block-level element. The line boxes
  7.1871 -    before the <code>q</code> are wrapped in an anonymous block-level box and
  7.1872 -    so are the line boxes after the <code>q</code>. The resulting tree of
  7.1873 -    boxes might be as follows (refer to the <a href="#When">figure</a>):
  7.1874 -
  7.1875 -   <ul>
  7.1876 -    <li>block-level box [p]
  7.1877 -     <ul>
  7.1878 -      <li>block-level box [anonymous]
  7.1879 -       <ul>
  7.1880 -        <li>line box: “Somebody…”
  7.1881 -
  7.1882 -        <li>line box: “forgotten…”
  7.1883 -       </ul>
  7.1884 -
  7.1885 -      <li>block-level box [q]
  7.1886 -       <ul>
  7.1887 -        <li>line box: “a box…”
  7.1888 -       </ul>
  7.1889 -
  7.1890 -      <li>block-level box [anonymous]
  7.1891 -       <ul>
  7.1892 -        <li>line box: “and he…”
  7.1893 -       </ul>
  7.1894 -     </ul>
  7.1895 -   </ul>
  7.1896 -
  7.1897 -   <div class=figure id=When>
  7.1898 -    <p><img
  7.1899 -     alt="The P element has two line boxes before the q and one   after. The first two are wrapped in an anonymous box, the last one   is wrapped in another anonymous box."
  7.1900 -     src=anonymous.png>
  7.1901 -
  7.1902 -    <p class=caption>When the fragment is rendered, the text before the q is
  7.1903 -     wrapped in an anonymous block and the text after the q in another.
  7.1904 -   </div>
  7.1905 -  </div>
  7.1906 -  <!--example-->
  7.1907 -
  7.1908    <p class=note>Note that the anonymous boxes defined in this module are all
  7.1909     <a href="#block-level">block-level,</a> but anonymous boxes defined in
  7.1910     other modules may be different.
  7.1911  
  7.1912 -  <p class=mtb>The <dfn id=containing-block>containing block</dfn> of a box
  7.1913 +  <p class=mtb>The <dfn id=containing-block0>containing block</dfn> of a box
  7.1914     is a rectangle that is associated with the box and that is used in various
  7.1915     definitions in this specification. Apart from a size and a position, the
  7.1916     rectangle also has ‘<a href="#direction"><code
  7.1917 @@ -1711,186 +1773,112 @@
  7.1918     (subtracted from the dimensions of) any containing block formed by that
  7.1919     element.
  7.1920  
  7.1921 -  <p class=mtb>A <dfn id=flow-root>flow root</dfn> is a box that satisfies at
  7.1922 -   least one of the following:
  7.1923 -
  7.1924 -  <ul>
  7.1925 -   <li>The value of ‘<a href="#float"><code
  7.1926 -    class=property>float</code></a>’ is not ‘<code
  7.1927 -    class=css>none</code>’.
  7.1928 -
  7.1929 -   <li>The <a href="#used-value."><em>used value</em></a> of ‘<a
  7.1930 -    href="#overflow1"><code class=property>overflow</code></a>’ is not
  7.1931 -    ‘<code class=css>visible</code>’.
  7.1932 -
  7.1933 -   <li>The value of ‘<a href="#display0"><code
  7.1934 -    class=property>display</code></a>’ is ‘<code
  7.1935 -    class=css>table-cell</code>’, ‘<code
  7.1936 -    class=css>table-caption</code>’ (see <a href="#CSS3TBL"
  7.1937 -    rel=biblioentry>[CSS3TBL]<!--{{CSS3TBL}}--></a>), ‘<code
  7.1938 -    class=css>inline-block</code>’, ‘<code
  7.1939 -    class=css>inline-table</code>’ or ‘<code
  7.1940 -    class=css>align-box</code>’.
  7.1941 -
  7.1942 -   <li>The value of ‘<code class=property>position</code>’ is ‘<code
  7.1943 -    class=css>absolute</code>’ or ‘<code class=css>fixed</code>’ (see
  7.1944 -    <a href="#CSS3POS" rel=biblioentry>[CSS3POS]<!--{{CSS3POS}}--></a>).
  7.1945 -
  7.1946 -   <li>The box is <a href="#vertical."><em>vertical</em></a> and its parent
  7.1947 -    is <a href="#horizontal"><em>horizontal.</em></a>
  7.1948 -
  7.1949 -   <li>The box is <a href="#horizontal"><em>horizontal</em></a> and its
  7.1950 -    parent is <a href="#vertical."><em>vertical.</em></a>
  7.1951 -
  7.1952 -   <li>The value of ‘<a href="#transform"><code
  7.1953 -    class=property>transform</code></a>’ is not ‘<code
  7.1954 -    class=css>none</code>’.
  7.1955 -
  7.1956 -   <li class=issue>The value of ‘<a href="#child-align"><code
  7.1957 -    class=property>child-align</code></a>’ is not ‘<code
  7.1958 -    class=css>auto</code>’. [If ‘<a href="#child-align"><code
  7.1959 -    class=property>child-align</code></a>’ is adopted, rather than, say,
  7.1960 -    ‘<code class=css>margin: fill</code>’]
  7.1961 -  </ul>
  7.1962 -
  7.1963 -  <p class=note>Note that an element with ‘<code class=css>display:
  7.1964 -   inline</code>’ therefore cannot be a flow root: it doesn't float
  7.1965 -   (otherwise its ‘<a href="#display0"><code
  7.1966 -   class=property>display</code></a>’ would be ‘<code
  7.1967 -   class=css>block</code>’), and neither ‘<a href="#overflow1"><code
  7.1968 -   class=property>overflow</code></a>’ nor ‘<a href="#writing-mode"><code
  7.1969 -   class=property>writing-mode</code></a>’ apply to inlines.
  7.1970 -
  7.1971 -  <p class=note>Note: The terminology in the CSS level 2 specification is
  7.1972 -   different. A flow root is called “an element that establishes a <span
  7.1973 -   class=index id=new-formatting-context.
  7.1974 -   title="formatting context|new formatting   context">new formatting
  7.1975 -   context.</span>”
  7.1976 -
  7.1977 -  <p>Other modules may define additional flow roots. <span class=issue>[Can
  7.1978 -   we thus remove ‘<code class=css>table-caption</code>’, ‘<code
  7.1979 -   class=css>table-cell</code>’, and ‘<code
  7.1980 -   class=property>position</code>’ from the list above?]</span>
  7.1981 -
  7.1982 -  <p>The <dfn id=flow>flow</dfn> (a.k.a. <dfn id=normal-flow>normal
  7.1983 -   flow</dfn>) of a given <a href="#flow-root"><em>flow root</em></a> is a
  7.1984 -   set of boxes. A box belongs to the flow if all of the following are true:
  7.1985 +  <h3 id=run-in-boxes><span class=secno>6.4. </span>Run-in boxes</h3>
  7.1986 +
  7.1987 +  <div class=issue>
  7.1988 +   <p>Compare the rules below with <a
  7.1989 +    href="http://lists.w3.org/Archives/Public/www-style/2012Jul/0450.html">Elika's
  7.1990 +    idea:</a>
  7.1991 +
  7.1992 +   <p>Model is this:
  7.1993 +
  7.1994 +   <ul>
  7.1995 +    <li>run-ins are always treated like elements with ‘<code
  7.1996 +     class=css>display: inline</code>’
  7.1997 +
  7.1998 +    <li>except that they mangle the box tree thus:
  7.1999 +     <ul>
  7.2000 +      <li>If a run-in is preceded by an inline box (ignoring any anonymous
  7.2001 +       inline boxes containing only collapsed white space), then it forces
  7.2002 +       the creation of an anonymous block boundary between it and the
  7.2003 +       preceding inline.
  7.2004 +
  7.2005 +      <li>If the last run-in in a sequence of run-ins, out-of-flows, and
  7.2006 +       anonymous inlines containing only white space is immediately followed
  7.2007 +       (ignoring out-of-flows and white space) by a block box, the entire
  7.2008 +       sequence (including any descendants) from the first run-in to the last
  7.2009 +       run-in gets shifted into that block, becoming the first boxes in that
  7.2010 +       block as if originally parented there.
  7.2011 +     </ul>
  7.2012 +   </ul>
  7.2013 +
  7.2014 +   <p>This solves several problems:
  7.2015 +
  7.2016 +   <ul>
  7.2017 +    <li>
  7.2018 +     <p>The behavior of the run-in is no longer determined by its contents.
  7.2019 +
  7.2020 +    <li>
  7.2021 +     <p>We don't have the weird discrepency between
  7.2022 +
  7.2023 +     <pre>&lt;run-in>some&lt;/run-in>
  7.2024 +&lt;p>text&lt;/p></pre>
  7.2025 +
  7.2026 +     <p>where "some text" appears on one line but
  7.2027 +
  7.2028 +     <pre>&lt;run-in>some&lt;/run-in>
  7.2029 +text</pre>
  7.2030 +
  7.2031 +     <p>appears on two lines.
  7.2032 +
  7.2033 +    <li>
  7.2034 +     <p>Multiple run-ins still run-in, so something like
  7.2035 +
  7.2036 +     <pre>&lt;dt>implementer
  7.2037 +&lt;dt>implementor
  7.2038 +&lt;dd>(n.) Someone or something that implements.</pre>
  7.2039 +
  7.2040 +     <p>can render as
  7.2041 +
  7.2042 +     <blockquote>
  7.2043 +      <p>*implementer, implementor* (n) Someone or something that implements.
  7.2044 +     </blockquote>
  7.2045 +   </ul>
  7.2046 +  </div>
  7.2047 +
  7.2048 +  <p>A ‘<code class=css>run-in</code>’ element (or pseudo-element)
  7.2049 +   <var>A</var> behaves as follows:
  7.2050  
  7.2051    <ol>
  7.2052 -   <li>The used value of its ‘<a href="#display0"><code
  7.2053 -    class=property>display</code></a>’ is ‘<code
  7.2054 -    class=css>block</code>’, ‘<code class=css>list-item</code>’ or
  7.2055 -    ‘<code class=css>table</code>’.
  7.2056 -
  7.2057 -   <li>The used value of its ‘<a href="#float"><code
  7.2058 -    class=property>float</code></a>’ is ‘<code class=css>none</code>’.
  7.2059 -
  7.2060 -   <li>The used value of its ‘<code class=property>position</code>’ is
  7.2061 -    ‘<code class=css>static</code>’ or ‘<code
  7.2062 -    class=css>relative</code>’.
  7.2063 -
  7.2064 -   <li>It is either a child of the flow root or a child of a box that belong
  7.2065 -    to the flow.
  7.2066 -  </ol>
  7.2067 -
  7.2068 -  <div class=example>
  7.2069 -   <p>For example, the fragment
  7.2070 -
  7.2071 -   <pre>&lt;div class=sidebar&gt;
  7.2072 - &lt;p&gt;Text in a sidebar.
  7.2073 - &lt;p&gt;Here is quote:
  7.2074 - &lt;blockquote lang=ja&gt;
  7.2075 -  &lt;p&gt;...
  7.2076 - &lt;/blockquote&gt;
  7.2077 - &lt;p&gt;Etc. etc.
  7.2078 -&lt;/div&gt; </pre>
  7.2079 -
  7.2080 -   <p>with the style
  7.2081 -
  7.2082 -   <pre>div.sidebar { writing-mode: tb; float: left }
  7.2083 -blockquote[lang|=ja] { writing-mode: rl; height: 10em }</pre>
  7.2084 -
  7.2085 -   <p>defines two flows:
  7.2086 -
  7.2087 -   <ol>
  7.2088 -    <li>The <code>div</code> is a flow root, because it floats. Its flow
  7.2089 -     consist of the 1st, 2nd and 4th <code>p</code> and the
  7.2090 -     <code>blockquote</code>.
  7.2091 -
  7.2092 -    <li>The <code>blockquote</code> is a <a
  7.2093 -     href="#vertical."><em>vertical</em></a> box inside a <a
  7.2094 -     href="#horizontal"><em>horizontal</em></a> parent and it is thus a flow
  7.2095 -     root. Its flow is formed by the 3rd <code>p</code>.
  7.2096 -   </ol>
  7.2097 -
  7.2098 -   <p>(The <code>div</code> itself belongs to a third flow, but its flow root
  7.2099 -    is not shown in the fragment.)
  7.2100 -  </div>
  7.2101 -
  7.2102 -  <p class=note>Note that a flow root is not necessarily block-level, it may
  7.2103 -   be an ‘<code class=css>inline-block</code>’, e.g.
  7.2104 -
  7.2105 -  <p>The boxes of a flow are laid out inside their flow root one after the
  7.2106 -   other in the direction of the ‘<a href="#writing-mode"><code
  7.2107 -   class=property>writing-mode</code></a>’ property of the flow root and in
  7.2108 -   the same order as in the source document. Their position is given by how
  7.2109 -   much their margins overlap (see <a
  7.2110 -   href="#collapsing-margins">“Collapsing margins”</a>) and by the fact
  7.2111 -   that their side margin edges coincide with content edges of their
  7.2112 -   containing blocks. More precisely: Each box's left and right margin edges
  7.2113 -   coincide with the left and right edges of its containing block (if the
  7.2114 -   flow root is ‘<code class=css>tb</code>’), or its top and bottom
  7.2115 -   margin edges coincide with the top and bottom edges of its containing
  7.2116 -   block (if the flow root is ‘<code class=css>rl</code>’ or ‘<code
  7.2117 -   class=css>lr</code>’).
  7.2118 -
  7.2119 -  <h3 id=run-in-boxes><span class=secno>7.4. </span>Run-in boxes</h3>
  7.2120 -
  7.2121 -  <p>A ‘<code class=css>run-in</code>’ element (or pseudo-element) <a
  7.2122 -   href="#aprime"><var>A</var></a> behaves as follows:
  7.2123 -
  7.2124 -  <ol>
  7.2125 -   <li>If <a href="#aprime"><var>A</var></a> has any children that
  7.2126 -    <span>inhibit run-in behavior</span> (see below), then <a
  7.2127 -    href="#aprime"><var>A</var></a> is rendered as if it had ‘<code
  7.2128 +   <li>If <var>A</var> has any children that <span>inhibit run-in
  7.2129 +    behavior</span> (see below), then <var>A</var> is rendered as if it had
  7.2130 +    ‘<code class=css>display: block</code>’.
  7.2131 +
  7.2132 +   <li>Let <var>B</var> be the first of <var>A's</var> following siblings
  7.2133 +    that is neither floating nor absolutely positioned nor has ‘<code
  7.2134 +    class=css>display: none</code>’. If <var>B</var> exists and has a
  7.2135 +    specified value for ‘<a href="#display0"><code
  7.2136 +    class=property>display</code></a>’ of ‘<code
  7.2137 +    class=css>block</code>’ or ‘<code class=css>list-item</code>’ and
  7.2138 +    is not replaced, then <var>A</var> is rendered as an ‘<code
  7.2139 +    class=css>inline</code>’ element at the start of <var>B's</var>
  7.2140 +    principal box. <span class=note>Note: <var>A</var> is rendered before
  7.2141 +    <var>B's</var> ‘<code class=css>:before</code>’ pseudo-element, if
  7.2142 +    any. See <a href="#CSS3GENCON"
  7.2143 +    rel=biblioentry>[CSS3GENCON]<!--{{CSS3GENCON}}--></a>.</span>
  7.2144 +
  7.2145 +   <li>Otherwise, <var>A</var> is rendered as if it had ‘<code
  7.2146      class=css>display: block</code>’.
  7.2147 -
  7.2148 -   <li>Let <a href="#bprime"><var>B</var></a> be the first of <var>A's</var>
  7.2149 -    following siblings that is neither floating nor absolutely positioned nor
  7.2150 -    has ‘<code class=css>display: none</code>’. If <a
  7.2151 -    href="#bprime"><var>B</var></a> exists and has a specified value for
  7.2152 -    ‘<a href="#display0"><code class=property>display</code></a>’ of
  7.2153 -    ‘<code class=css>block</code>’ or ‘<code
  7.2154 -    class=css>list-item</code>’ and is not replaced, then <a
  7.2155 -    href="#aprime"><var>A</var></a> is rendered as an ‘<code
  7.2156 -    class=css>inline</code>’ element at the start of <var>B's</var>
  7.2157 -    principal box. <span class=note>Note: <a href="#aprime"><var>A</var></a>
  7.2158 -    is rendered before <var>B's</var> ‘<code class=css>:before</code>’
  7.2159 -    pseudo-element, if any. See <a href="#CSS3GENCON"
  7.2160 -    rel=biblioentry>[CSS3GENCON]<!--{{CSS3GENCON}}--></a>.</span>
  7.2161 -
  7.2162 -   <li>Otherwise, <a href="#aprime"><var>A</var></a> is rendered as if it had
  7.2163 -    ‘<code class=css>display: block</code>’.
  7.2164    </ol>
  7.2165  
  7.2166    <p>In the above, “siblings” and “children” include both normal
  7.2167     elements and :before/:after pseudo-elements.
  7.2168  
  7.2169 -  <p>An element or pseudo-element <a href="#cprime"><var>C</var></a> <dfn
  7.2170 +  <p>An element or pseudo-element <var>C</var> <dfn
  7.2171     id=inhibits-run-in-behavior>inhibits run-in behavior</dfn> if one or more
  7.2172     of the following are true. <span class=note>(Note that the definition is
  7.2173     recursive.)</span>
  7.2174  
  7.2175    <ul>
  7.2176 -   <li><a href="#cprime"><var>C</var></a> is not floating and not absolutely
  7.2177 -    positioned and the computed value of its ‘<a href="#display0"><code
  7.2178 +   <li><var>C</var> is not floating and not absolutely positioned and the
  7.2179 +    computed value of its ‘<a href="#display0"><code
  7.2180      class=property>display</code></a>’ is one of ‘<code
  7.2181      class=css>block</code>’, ‘<code class=css>list-item</code>’,
  7.2182      ‘<code class=css>table</code>’ or ‘<code
  7.2183      class=css>run-in</code>’.
  7.2184  
  7.2185 -   <li><a href="#cprime"><var>C</var></a> has a computed value for ‘<a
  7.2186 -    href="#display0"><code class=property>display</code></a>’ of ‘<code
  7.2187 +   <li><var>C</var> has a computed value for ‘<a href="#display0"><code
  7.2188 +    class=property>display</code></a>’ of ‘<code
  7.2189      class=property>inline</code>’ and it has one or more children that
  7.2190      inhibit run-in behavior. (Where “children” includes both normal
  7.2191      elements and :before/:after pseudo-elements.)
  7.2192 @@ -1932,7 +1920,7 @@
  7.2193     ‘<code class=css>:first-line</code>’ pseudo-element. How about in
  7.2194     level 3?</span>
  7.2195  
  7.2196 -  <h3 id=compact-boxes><span class=secno>7.5. </span>Compact boxes</h3>
  7.2197 +  <h3 id=compact-boxes><span class=secno>6.5. </span>Compact boxes</h3>
  7.2198  
  7.2199    <p class=issue>Define here or in extended box module?
  7.2200  
  7.2201 @@ -1974,61 +1962,52 @@
  7.2202     </div>
  7.2203    </div>
  7.2204  
  7.2205 -  <p>Whether a compact box <a href="#cprime"><var>C</var></a> is displayed as
  7.2206 -   a block or in the margin is determined as follows. Let <var>N</var> be the
  7.2207 -   next sibling element in document order in the same flow as <a
  7.2208 -   href="#cprime"><var>C</var></a>, if any. Let <var>W</var> be the
  7.2209 -   hypothetical distance between the <a
  7.2210 -   href="#startside"><em>startside</em></a> margin edge and <a
  7.2211 -   href="#endside"><em>endside</em></a> margin edge of <a
  7.2212 -   href="#cprime"><var>C</var></a> if the ‘<a href="#display0"><code
  7.2213 -   class=property>display</code></a>’ property of <a
  7.2214 -   href="#cprime"><var>C</var></a> were set to ‘<code
  7.2215 -   class=css>block</code>’ and any ‘<code class=css>auto</code>’ on its
  7.2216 -   <a href="#inline"><em>inline dimension</em></a> were replaced by ‘<code
  7.2217 -   class=css>fit-content</code>’.
  7.2218 +  <p>Whether a compact box <var>C</var> is displayed as a block or in the
  7.2219 +   margin is determined as follows. Let <var>N</var> be the next sibling
  7.2220 +   element in document order in the same flow as <var>C</var>, if any. Let
  7.2221 +   <var>W</var> be the hypothetical distance between the <em>startside</em>
  7.2222 +   margin edge and <em>endside</em> margin edge of <var>C</var> if the ‘<a
  7.2223 +   href="#display0"><code class=property>display</code></a>’ property of
  7.2224 +   <var>C</var> were set to ‘<code class=css>block</code>’ and any
  7.2225 +   ‘<code class=css>auto</code>’ on its <a
  7.2226 +   href="#inline-dimension"><em>inline dimension</em></a> were replaced by
  7.2227 +   ‘<code class=css>fit-content</code>’.
  7.2228  
  7.2229    <ul>
  7.2230 -   <li>If there is no such <var>N</var>, then <a
  7.2231 -    href="#cprime"><var>C</var></a> is displayed as a block.
  7.2232 +   <li>If there is no such <var>N</var>, then <var>C</var> is displayed as a
  7.2233 +    block.
  7.2234  
  7.2235     <li>If <var>N</var> has a ‘<a href="#display0"><code
  7.2236      class=property>display</code></a>’ of ‘<code
  7.2237 -    class=css>list-item</code>’, then <a href="#cprime"><var>C</var></a> is
  7.2238 +    class=css>list-item</code>’, then <var>C</var> is displayed as a block.
  7.2239 +
  7.2240 +   <li>If <var>N</var> is not <a
  7.2241 +    href="#block-level"><em>block-level</em></a>, then <var>C</var> is
  7.2242      displayed as a block.
  7.2243  
  7.2244 -   <li>If <var>N</var> is not <a
  7.2245 -    href="#block-level"><em>block-level</em></a>, then <a
  7.2246 -    href="#cprime"><var>C</var></a> is displayed as a block.
  7.2247 -
  7.2248 -   <li>If the <a href="#startside"><em>startside</em></a> margin of
  7.2249 -    <var>N</var> is less than <var>W</var>, then <a
  7.2250 -    href="#cprime"><var>C</var></a> is displayed as a block.
  7.2251 -
  7.2252 -   <li>Otherwise, <a href="#cprime"><var>C</var></a> is displayed in the
  7.2253 -    margin.
  7.2254 +   <li>If the <em>startside</em> margin of <var>N</var> is less than
  7.2255 +    <var>W</var>, then <var>C</var> is displayed as a block.
  7.2256 +
  7.2257 +   <li>Otherwise, <var>C</var> is displayed in the margin.
  7.2258    </ul>
  7.2259  
  7.2260 -  <p>If <a href="#cprime"><var>C</var></a> is displayed as a block, it is a
  7.2261 -   <a href="#block-level"><em>block-level</em></a> element and it is sized
  7.2262 -   and positioned exactly as if its ‘<a href="#display0"><code
  7.2263 +  <p>If <var>C</var> is displayed as a block, it is a <a
  7.2264 +   href="#block-level"><em>block-level</em></a> element and it is sized and
  7.2265 +   positioned exactly as if its ‘<a href="#display0"><code
  7.2266     class=property>display</code></a>’ had been ‘<code
  7.2267     class=css>block</code>’.
  7.2268  
  7.2269 -  <p>Otherwise, <a href="#cprime"><var>C</var></a> is placed such that its <a
  7.2270 -   href="#startside"><em>startside</em></a> margin edge aligns with the <a
  7.2271 -   href="#start"><em>start</em></a> margin edge of its <a
  7.2272 -   href="#containing-block"><em>containing block</em></a> and its <a
  7.2273 -   href="#headside"><em>headside</em></a> border edge aligns with the <a
  7.2274 -   href="#headside"><em>headside</em></a> border edge of <var>N</var>. It is
  7.2275 -   in this case an <a href="#inline-level"><em>inline-level</em></a> element.
  7.2276 -   
  7.2277 -
  7.2278 -  <p class=issue>Do we do anything to avoid that floats overlap with <a
  7.2279 -   href="#cprime"><var>C</var></a>? Do we do anything if <a
  7.2280 -   href="#cprime"><var>C</var></a> is taller than <var>N</var>? E.g., adjust
  7.2281 -   the ‘<a href="#min-height"><code class=property>min-height</code></a>’
  7.2282 -   of <var>N</var>?
  7.2283 +  <p>Otherwise, <var>C</var> is placed such that its <em>startside</em>
  7.2284 +   margin edge aligns with the <a href="#start"><em>start</em></a> margin
  7.2285 +   edge of its <a href="#containing-block0"><em>containing block</em></a> and
  7.2286 +   its <em>headside</em> border edge aligns with the <em>headside</em> border
  7.2287 +   edge of <var>N</var>. It is in this case an <a
  7.2288 +   href="#inline-level"><em>inline-level</em></a> element.
  7.2289 +
  7.2290 +  <p class=issue>Do we do anything to avoid that floats overlap with
  7.2291 +   <var>C</var>? Do we do anything if <var>C</var> is taller than
  7.2292 +   <var>N</var>? E.g., adjust the ‘<a href="#min-height"><code
  7.2293 +   class=property>min-height</code></a>’ of <var>N</var>?
  7.2294  
  7.2295    <div class=example>
  7.2296     <p>Simple example...
  7.2297 @@ -2063,62 +2042,77 @@
  7.2298     </div>
  7.2299    </div>
  7.2300  
  7.2301 -  <h2 id=the-padding-properties><span class=secno>8. </span>The padding
  7.2302 +  <h2 id=the-padding-properties><span class=secno>7. </span>The padding
  7.2303     properties</h2>
  7.2304  
  7.2305    <table class=propdef>
  7.2306     <tbody>
  7.2307      <tr>
  7.2308 -     <td>Name:
  7.2309 +     <th>Name:
  7.2310  
  7.2311       <td><dfn id=padding>padding</dfn>
  7.2312  
  7.2313      <tr>
  7.2314 -     <td>Value:
  7.2315 +     <th>Value:
  7.2316  
  7.2317       <td>[ <a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.2318        href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a> | auto ]{1,4}
  7.2319  
  7.2320      <tr>
  7.2321 -     <td>Initial:
  7.2322 +     <th>Initial:
  7.2323  
  7.2324       <td>(see individual properties)
  7.2325  
  7.2326      <tr>
  7.2327 -     <td>Applies to:
  7.2328 +     <th>Applies to:
  7.2329  
  7.2330       <td>all elements
  7.2331  
  7.2332      <tr>
  7.2333 -     <td>Inherited:
  7.2334 +     <th>Inherited:
  7.2335  
  7.2336       <td>no
  7.2337  
  7.2338      <tr>
  7.2339 -     <td>Percentages:
  7.2340 +     <th>Animatable:
  7.2341 +
  7.2342 +     <td>yes
  7.2343 +
  7.2344 +    <tr>
  7.2345 +     <th>Percentages:
  7.2346  
  7.2347       <td>width* of containing block
  7.2348  
  7.2349      <tr>
  7.2350 -     <td>Media:
  7.2351 +     <th>Media:
  7.2352  
  7.2353       <td>visual
  7.2354  
  7.2355      <tr>
  7.2356 -     <td>Computed value:
  7.2357 +     <th>Computed value:
  7.2358  
  7.2359       <td>see individual properties
  7.2360  
  7.2361      <tr>
  7.2362 +     <th>Canonical order:
  7.2363 +
  7.2364 +     <td>N/A
  7.2365 +
  7.2366 +    <tr>
  7.2367       <td class=footnote colspan=2>*) if the <a
  7.2368 -      href="#containing-block"><em>containing block</em></a> is <a
  7.2369 +      href="#containing-block0"><em>containing block</em></a> is <a
  7.2370        href="#horizontal"><em>horizontal,</em></a> otherwise the height
  7.2371 +
  7.2372 +    <tr>
  7.2373 +     <th>Canonical order:
  7.2374 +
  7.2375 +     <td>N/A
  7.2376    </table>
  7.2377  
  7.2378    <table class=propdef>
  7.2379     <tbody>
  7.2380      <tr>
  7.2381 -     <td>Name:
  7.2382 +     <th>Name:
  7.2383  
  7.2384       <td><dfn id=padding-top>padding-top</dfn> , <dfn
  7.2385        id=padding-right>padding-right</dfn>, <dfn
  7.2386 @@ -2126,45 +2120,60 @@
  7.2387        id=padding-left>padding-left</dfn>
  7.2388  
  7.2389      <tr>
  7.2390 -     <td>Value:
  7.2391 +     <th>Value:
  7.2392  
  7.2393       <td>[ <a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.2394        href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a> | auto ]
  7.2395  
  7.2396      <tr>
  7.2397 -     <td>Initial:
  7.2398 +     <th>Initial:
  7.2399  
  7.2400       <td>0
  7.2401  
  7.2402      <tr>
  7.2403 -     <td>Applies to:
  7.2404 +     <th>Applies to:
  7.2405  
  7.2406       <td>all elements
  7.2407  
  7.2408      <tr>
  7.2409 -     <td>Inherited:
  7.2410 +     <th>Inherited:
  7.2411  
  7.2412       <td>no
  7.2413  
  7.2414      <tr>
  7.2415 -     <td>Percentages:
  7.2416 +     <th>Animatable:
  7.2417 +
  7.2418 +     <td>yes
  7.2419 +
  7.2420 +    <tr>
  7.2421 +     <th>Percentages:
  7.2422  
  7.2423       <td>width* of containing block
  7.2424  
  7.2425      <tr>
  7.2426 -     <td>Media:
  7.2427 +     <th>Media:
  7.2428  
  7.2429       <td>visual
  7.2430  
  7.2431      <tr>
  7.2432 -     <td>Computed value:
  7.2433 +     <th>Computed value:
  7.2434  
  7.2435       <td>&lt;length&gt;
  7.2436  
  7.2437      <tr>
  7.2438 +     <th>Canonical order:
  7.2439 +
  7.2440 +     <td>N/A
  7.2441 +
  7.2442 +    <tr>
  7.2443       <td class=footnote colspan=2>*) if the <a
  7.2444 -      href="#containing-block"><em>containing block</em></a> is <a
  7.2445 +      href="#containing-block0"><em>containing block</em></a> is <a
  7.2446        href="#horizontal"><em>horizontal,</em></a> otherwise the height
  7.2447 +
  7.2448 +    <tr>
  7.2449 +     <th>Canonical order:
  7.2450 +
  7.2451 +     <td>N/A
  7.2452    </table>
  7.2453  
  7.2454    <p>Sets the thickness of the <a href="#padding-area"><em>padding
  7.2455 @@ -2210,18 +2219,18 @@
  7.2456  </pre>
  7.2457    </div>
  7.2458  
  7.2459 -  <h2 id=margins><span class=secno>9. </span>Margins</h2>
  7.2460 +  <h2 id=margins><span class=secno>8. </span>Margins</h2>
  7.2461  
  7.2462    <p>Margins in CSS serve to add both horizontal and vertical space between
  7.2463     boxes.
  7.2464  
  7.2465 -  <h3 id=the-margin-properties><span class=secno>9.1. </span>The margin
  7.2466 +  <h3 id=the-margin-properties><span class=secno>8.1. </span>The margin
  7.2467     properties</h3>
  7.2468  
  7.2469    <table class=propdef>
  7.2470     <tbody>
  7.2471      <tr>
  7.2472 -     <td>Name:
  7.2473 +     <th>Name:
  7.2474  
  7.2475       <td><dfn id=margin-top>margin-top</dfn> , <dfn
  7.2476        id=margin-right>margin-right</dfn>, <dfn
  7.2477 @@ -2229,95 +2238,125 @@
  7.2478        id=margin-left>margin-left</dfn>
  7.2479  
  7.2480      <tr>
  7.2481 -     <td>Value:
  7.2482 +     <th>Value:
  7.2483  
  7.2484       <td><a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.2485        href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a> | auto
  7.2486  
  7.2487      <tr>
  7.2488 -     <td>Initial:
  7.2489 +     <th>Initial:
  7.2490  
  7.2491       <td>0
  7.2492  
  7.2493      <tr>
  7.2494 -     <td>Applies to:
  7.2495 +     <th>Applies to:
  7.2496  
  7.2497       <td>see text
  7.2498  
  7.2499      <tr>
  7.2500 -     <td>Inherited:
  7.2501 +     <th>Inherited:
  7.2502  
  7.2503       <td>no
  7.2504  
  7.2505      <tr>
  7.2506 -     <td>Percentages:
  7.2507 +     <th>Animatable:
  7.2508 +
  7.2509 +     <td>yes
  7.2510 +
  7.2511 +    <tr>
  7.2512 +     <th>Percentages:
  7.2513  
  7.2514       <td>width* of containing block
  7.2515  
  7.2516      <tr>
  7.2517 -     <td>Media:
  7.2518 +     <th>Media:
  7.2519  
  7.2520       <td>visual
  7.2521  
  7.2522      <tr>
  7.2523 -     <td>Computed value:
  7.2524 +     <th>Computed value:
  7.2525  
  7.2526       <td>the percentage as specified or the absolute length or ‘<code
  7.2527        class=css>auto</code>’
  7.2528  
  7.2529      <tr>
  7.2530 +     <th>Canonical order:
  7.2531 +
  7.2532 +     <td>N/A
  7.2533 +
  7.2534 +    <tr>
  7.2535       <td class=footnote colspan=2>*) if the <a
  7.2536 -      href="#containing-block"><em>containing block</em></a> is <a
  7.2537 +      href="#containing-block0"><em>containing block</em></a> is <a
  7.2538        href="#horizontal"><em>horizontal,</em></a> otherwise the height
  7.2539 +
  7.2540 +    <tr>
  7.2541 +     <th>Canonical order:
  7.2542 +
  7.2543 +     <td>N/A
  7.2544    </table>
  7.2545  
  7.2546    <table class=propdef>
  7.2547     <tbody>
  7.2548      <tr>
  7.2549 -     <td>Name:
  7.2550 +     <th>Name:
  7.2551  
  7.2552       <td><dfn id=margin>margin</dfn>
  7.2553  
  7.2554      <tr>
  7.2555 -     <td>Value:
  7.2556 +     <th>Value:
  7.2557  
  7.2558       <td>[ <a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.2559        href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a> | auto]{1,4}
  7.2560  
  7.2561      <tr>
  7.2562 -     <td>Initial:
  7.2563 +     <th>Initial:
  7.2564  
  7.2565       <td>(see individual properties)
  7.2566  
  7.2567      <tr>
  7.2568 -     <td>Applies to:
  7.2569 +     <th>Applies to:
  7.2570  
  7.2571       <td>see text
  7.2572  
  7.2573      <tr>
  7.2574 -     <td>Inherited:
  7.2575 +     <th>Inherited:
  7.2576  
  7.2577       <td>no
  7.2578  
  7.2579      <tr>
  7.2580 -     <td>Percentages:
  7.2581 +     <th>Animatable:
  7.2582 +
  7.2583 +     <td>yes
  7.2584 +
  7.2585 +    <tr>
  7.2586 +     <th>Percentages:
  7.2587  
  7.2588       <td>width* of containing block
  7.2589  
  7.2590      <tr>
  7.2591 -     <td>Media:
  7.2592 +     <th>Media:
  7.2593  
  7.2594       <td>visual
  7.2595  
  7.2596      <tr>
  7.2597 -     <td>Computed value:
  7.2598 +     <th>Computed value:
  7.2599  
  7.2600       <td>see individual properties
  7.2601  
  7.2602      <tr>
  7.2603 +     <th>Canonical order:
  7.2604 +
  7.2605 +     <td>N/A
  7.2606 +
  7.2607 +    <tr>
  7.2608       <td class=footnote colspan=2>*) if the <a
  7.2609 -      href="#containing-block"><em>containing block</em></a> is <a
  7.2610 +      href="#containing-block0"><em>containing block</em></a> is <a
  7.2611        href="#horizontal"><em>horizontal,</em></a> otherwise the height
  7.2612 +
  7.2613 +    <tr>
  7.2614 +     <th>Canonical order:
  7.2615 +
  7.2616 +     <td>N/A
  7.2617    </table>
  7.2618  
  7.2619    <div class=issue>
  7.2620 @@ -2399,396 +2438,127 @@
  7.2621      margin-left: 2em }</pre>
  7.2622    </div>
  7.2623  
  7.2624 -  <h3 id=collapsing-margins><span class=secno>9.2. </span>Collapsing margins</h3>
  7.2625 -
  7.2626 -  <p>Certain adjoining margins, as defined in this section, combine to form a
  7.2627 -   single margin. Those margins are said to <dfn id=collapse.>collapse.</dfn>
  7.2628 -   Margins are <dfn id=adjoining>adjoining</dfn> if there are no nonempty
  7.2629 -   content, <a href="#padding-area" title="padding area">padding</a> or <a
  7.2630 -   href="#border-area" title="border area">border areas</a> or <a
  7.2631 -   href="#clearance."><em>clearance</em></a> to separate them.
  7.2632 -
  7.2633 -  <div class=example>
  7.2634 -   <p>For example, in the following fragment with the given style rules:
  7.2635 -
  7.2636 -   <pre>p { display: block; margin-bottom: 2em 0 1em 0 }
  7.2637 -div { display: block; margin: 2.5em 0 }
  7.2638 -...
  7.2639 -&lt;p&gt;First paragraph&lt;/p&gt;
  7.2640 -&lt;div&gt;
  7.2641 -  &lt;p&gt;Second paragraph&lt;/p&gt;
  7.2642 -&lt;/div&gt;</pre>
  7.2643 -
  7.2644 -   <p>the bottom margin of the first <code>p</code> (=1em), the top margin of
  7.2645 -    the <code>div</code> (=2.5em) and the top margin of the second
  7.2646 -    <code>p</code> (=2em) collapse. The result is a single margin of 2.5em
  7.2647 -    (the maximum of the three) between the bottom of the first <code>p</code>
  7.2648 -    and the top of the second.
  7.2649 -  </div>
  7.2650 -
  7.2651 -  <div class=figure>
  7.2652 -   <p><img alt="Three margins collapse: 1em + 2.5em + 2em" src=collapse1.png>
  7.2653 -    
  7.2654 -
  7.2655 -   <p class=caption>Schematic representation of the previous example.
  7.2656 -  </div>
  7.2657 -
  7.2658 -  <div class=example>
  7.2659 -   <p>In the following fragment,
  7.2660 -
  7.2661 -   <pre>p { display: block; margin: 2em 0 1em 0 }
  7.2662 -div { display: block; margin: 2.5em 0;
  7.2663 -      border: thin solid }
  7.2664 -...
  7.2665 -&lt;p&gt;First paragraph&lt;/p&gt;
  7.2666 -&lt;div&gt;
  7.2667 -  &lt;p&gt;Second paragraph&lt;/p&gt;
  7.2668 -&lt;/div&gt;</pre>
  7.2669 -
  7.2670 -   <p>the bottom margin of the first <code>p</code> and the top margin of the
  7.2671 -    <code>div</code> collapse, but the top margin of the second
  7.2672 -    <code>p</code> does not collapse with them, because it is not <a
  7.2673 -    href="#adjoining"><em>adjoining;</em></a> the border of the
  7.2674 -    <code>div</code> separates them.
  7.2675 -  </div>
  7.2676 -
  7.2677 -  <div class=figure>
  7.2678 -   <p><img alt="Only two margins collapse: 1em + 2.5em" src=collapse2.png>
  7.2679 -
  7.2680 -   <p class=caption>Schematic representation of the previous example.
  7.2681 -  </div>
  7.2682 -
  7.2683 -  <p>If a set of adjoining margins collapses, then the width of the resulting
  7.2684 -   margin is <var>M</var> - <var>N</var>, where <var>M</var> is the maximum
  7.2685 -   of the adjoining margins that are positive, or zero if there are none; and
  7.2686 -   <var>N</var> is the minimum of the adjoining margins that are negative, or
  7.2687 -   zero if there are none.
  7.2688 -
  7.2689 -  <p>We call an element or box <dfn id=collapsed-through>collapsed
  7.2690 -   through</dfn> if two of its margins collapse with each other.
  7.2691 -
  7.2692 -  <div class=example>
  7.2693 -   <p>The most common use of collapsing through elements is that empty
  7.2694 -    paragraphs don't cause extra white space:
  7.2695 -
  7.2696 -   <pre>&lt;p>First paragraph
  7.2697 -&lt;p>Second paragraph
  7.2698 -&lt;p>
  7.2699 -&lt;p>Last paragraph</pre>
  7.2700 -
  7.2701 -   <p>There is equal space between the first and second paragraphs as between
  7.2702 -    the second and last.
  7.2703 -  </div>
  7.2704 -
  7.2705 -  <p>The following two sets of rules determine which margins collapse.
  7.2706 -
  7.2707 -  <ul>
  7.2708 -   <li>Only margins of <a href="#block-level"><em>block-level</em></a> boxes
  7.2709 -    can collapse.
  7.2710 -
  7.2711 -   <li>Margins of a floated box do not collapse with any other margins.
  7.2712 -
  7.2713 -   <li>Margins of a <a href="#flow-root"><em>flow root</em></a> do not
  7.2714 -    collapse with its children's margins.
  7.2715 -
  7.2716 -   <li>Margins of an absolutely positioned box (see <a href="#CSS3POS"
  7.2717 -    rel=biblioentry>[CSS3POS]<!--{{CSS3POS}}--></a>) do not collapse with any
  7.2718 -    other margins. <!--
  7.2719 -  <li>Margins of an ''inline-block'' box do not collapse (not even
  7.2720 -  with its in-flow children). <span class=issue>Assuming the first
  7.2721 -  rule above (“only block-level”) is correct, this rule seems
  7.2722 -  redundant, because an inline block is not block-level.</span>
  7.2723 -  -->
  7.2724 -    
  7.2725 -
  7.2726 -   <li>Margins of the root element's box do not collapse with any other
  7.2727 -    margins.
  7.2728 -
  7.2729 -   <li>If a box is <a href="#collapsed-through"><em>collapsed
  7.2730 -    through</em></a> and it has <a href="#clearance."><em>clearance</em></a>
  7.2731 -    applied to one of its two collapsed margins, then those two margins do
  7.2732 -    not collapse with certain of the parent's margins, as follows: If
  7.2733 -    clearance is applied to, respectively, the top, right, bottom or left
  7.2734 -    margin, then the two margins do not collapse with the parent's bottom,
  7.2735 -    left, top or right margin, respectively.
  7.2736 -
  7.2737 -   <li>If a <a href="#horizontal"><em>horizontal</em></a> element has a ‘<a
  7.2738 -    href="#height"><code class=property>height</code></a>’ that is not
  7.2739 -    ‘<code class=css>auto</code>’, or if setting its ‘<a
  7.2740 -    href="#min-height"><code class=property>min-height</code></a>’ and
  7.2741 -    ‘<a href="#max-height"><code class=property>max-height</code></a>’ to
  7.2742 -    their initial values would change its used height, then the <a
  7.2743 -    href="#tail"><em>tail</em></a> margin of the element does not collapse
  7.2744 -    with any of its children's margins. <span class=issue>[Check with latest
  7.2745 -    CSS 2.1 if min/max width/height still have this effect.]</span>
  7.2746 -
  7.2747 -   <li>Similarly, if a <a href="#vertical."><em>vertical</em></a> element has
  7.2748 -    a ‘<a href="#width"><code class=property>width</code></a>’ that is
  7.2749 -    not ‘<code class=css>auto</code>’, or if setting its ‘<a
  7.2750 -    href="#min-width"><code class=property>min-width</code></a>’ and ‘<a
  7.2751 -    href="#max-width"><code class=property>max-width</code></a>’ to their
  7.2752 -    initial values would change the used width, then the <a
  7.2753 -    href="#tail"><em>tail</em></a> margin of the element does not collapse
  7.2754 -    with any of its children's margins. <span class=issue>[Check with latest
  7.2755 -    CSS 2.1 if min/max width/height still have this effect.]</span>
  7.2756 -  </ul>
  7.2757 -
  7.2758 -  <p>Except when forbidden by the list above, the following margins collapse:
  7.2759 -   
  7.2760 -
  7.2761 -  <ul><!-- transitive -->
  7.2762 -
  7.2763 -   <li>
  7.2764 -    <p>If a margin P collapses with a margin Q and margin Q with a margin R,
  7.2765 -     then P, Q and R collapse together. (“Collapsing is transitive”)
  7.2766 -     <!-- parent-child / head -->
  7.2767 -
  7.2768 -   <li>
  7.2769 -    <p>A margin of a box collapses with the <a href="#head"><em>head</em></a>
  7.2770 -     margin of its parent box if those two margins are <a
  7.2771 -     href="#adjoining"><em>adjoining.</em></a> <!-- parent-child / tail -->
  7.2772 -
  7.2773 -   <li>
  7.2774 -    <p>A margin of a box collapses with the <a href="#tail"><em>tail</em></a>
  7.2775 -     margin of its parent box if those two margins are <a
  7.2776 -     href="#adjoining"><em>adjoining.</em></a> <!-- sibling -->
  7.2777 -
  7.2778 -   <li>
  7.2779 -    <p>The <a href="#head"><em>head</em></a> margin of a box collapses with
  7.2780 -     the <a href="#tail"><em>tail</em></a> margin of a sibling box if the two
  7.2781 -     margins are <a href="#adjoining"><em>adjoining.</em></a>
  7.2782 -     <!-- self top-bottom -->
  7.2783 -
  7.2784 -   <li>
  7.2785 -    <p>The top and bottom margins of a box A collapse with each other if the
  7.2786 -     two margins are <a href="#adjoining"><em>adjoining</em></a> and the
  7.2787 -     parent box B is <a href="#horizontal"><em>horizontal.</em></a> (The box
  7.2788 -     is <a href="#collapsed-through"><em>“collapsed through.”</em></a>)
  7.2789 -     <!-- self left-right -->
  7.2790 -
  7.2791 -   <li>
  7.2792 -    <p>The left and right margins of a box A collapse with each other if the
  7.2793 -     two margins are <a href="#adjoining"><em>adjoining</em></a> and the
  7.2794 -     parent box B is <a href="#vertical."><em>vertical.</em></a> (The box is
  7.2795 -     <a href="#collapsed-through"><em>“collapsed through.”</em></a>)
  7.2796 -  </ul>
  7.2797 -
  7.2798 -  <p>If a box A is <a href="#collapsed-through"><em>collapsed
  7.2799 -   through</em></a> and it has the same mode as its parent (i.e., both are <a
  7.2800 -   href="#horizontal"><em>horizontal</em></a> or both are <a
  7.2801 -   href="#vertical."><em>vertical</em></a>), then the position of its <a
  7.2802 -   href="#head"><em>head</em></a> border edge is defined as follows.
  7.2803 -
  7.2804 -  <ul>
  7.2805 -   <li>If the box A's margins are collapsed with its parent's <a
  7.2806 -    href="#head"><em>head</em></a> margin, the head border edge of A is
  7.2807 -    defined to be the same as the parent's head border edge.
  7.2808 -
  7.2809 -   <li>Otherwise, either the parent is not taking part in the margin
  7.2810 -    collapsing, or only the parent's <a href="#tail"><em>tail</em></a> margin
  7.2811 -    is involved. The position of A's head border edge is defined to be the
  7.2812 -    same as it would have been if A had a nonzero <a
  7.2813 -    href="#tail"><em>tail</em></a> border.
  7.2814 -  </ul>
  7.2815 -
  7.2816 -  <p class=note>Note that box A itself is invisible and its position has no
  7.2817 -   effect on the positions of the other elements with whose margins it is
  7.2818 -   being collapsed; the border edge position is only required for laying out
  7.2819 -   descendants of A.
  7.2820 -
  7.2821 -  <div class=example>
  7.2822 -   <p>In a horizontal flow, the bottom margin of an in-flow <a
  7.2823 -    href="#block-level">block-level</a> element is always adjoining to the
  7.2824 -    top margin of its next in-flow block-level sibling, unless that sibling
  7.2825 -    has clearance:
  7.2826 -
  7.2827 -   <pre>
  7.2828 -&lt;p style="margin-bottom: 2em">The bottom margin of this
  7.2829 -box…&lt;/p>
  7.2830 -
  7.2831 -&lt;p style="margin-top: 3em">… collapses with the top margin
  7.2832 -of this box, to yield max(2em, 3em) = 3em margin.&lt;/p>
  7.2833 -</pre>
  7.2834 -
  7.2835 -   <p>The top margin of an in-flow block-level element is adjoining to its
  7.2836 -    first in-flow block-level child's top margin if the element has no top
  7.2837 -    border, no top padding, and the child has no clearance:
  7.2838 -
  7.2839 -   <pre>
  7.2840 -&lt;div style="margin-top: 2em; padding: 0; border: 0">
  7.2841 -  &lt;p style="margin-top: 3em">
  7.2842 -    The top margin of the DIV and the P
  7.2843 -    collapse, to yield max(2em, 3em) = 3em margin.
  7.2844 -  &lt;/p>
  7.2845 -&lt;/div>
  7.2846 -</pre>
  7.2847 -
  7.2848 -   <p>The bottom margin of an in-flow block-level element with a ‘<a
  7.2849 -    href="#height"><code class=property>height</code></a>’ of ‘<code
  7.2850 -    class=css>auto</code>’ and ‘<a href="#min-height"><code
  7.2851 -    class=property>min-height</code></a>’ less than the element's used
  7.2852 -    height and ‘<a href="#max-height"><code
  7.2853 -    class=property>max-height</code></a>’ greater than the element's used
  7.2854 -    height is adjoining to its last in-flow block-level child's bottom margin
  7.2855 -    if the element has no bottom padding or border:
  7.2856 -
  7.2857 -   <pre>
  7.2858 -&lt;div style="margin-bottom: 2em; padding: 0; border: 0;
  7.2859 -    height: auto; min-height: 0; max-height: 100em">
  7.2860 -  &lt;p style="margin-bottom: 3em">
  7.2861 -    The bottom margin of the DIV and the P collapse, to yield max(2em,
  7.2862 -    3em) = 3em margin.
  7.2863 -  &lt;/p>
  7.2864 -&lt;/div>
  7.2865 -</pre>
  7.2866 -
  7.2867 -   <p>An element's own margins are adjoining if the ‘<a
  7.2868 -    href="#min-height"><code class=property>min-height</code></a>’ property
  7.2869 -    is zero, and it has neither vertical borders nor vertical padding, and it
  7.2870 -    has a ‘<a href="#height"><code class=property>height</code></a>’ of
  7.2871 -    either 0 or ‘<code class=css>auto</code>’, and it does not contain a
  7.2872 -    line box, and all of its in-flow children's margins (if any) are
  7.2873 -    adjoining:
  7.2874 -
  7.2875 -   <pre>
  7.2876 -&lt;div style="margin-top: 2em; margin-bottom: 3em">
  7.2877 -  &lt;p style="position: absolute">
  7.2878 -    The DIV is empty and its top and bottom margins collapse.
  7.2879 -  &lt;/p>
  7.2880 -&lt;/div>
  7.2881 -</pre>
  7.2882 -
  7.2883 -   <p>When an element's own margins collapse, and that element has had
  7.2884 -    clearance applied to it, its top margin collapses with the adjoining
  7.2885 -    margins of subsequent siblings but that resulting margin does not
  7.2886 -    collapse with the bottom margin of the parent block:
  7.2887 -
  7.2888 -   <pre>
  7.2889 -&lt;div style="margin-bottom: 2em">
  7.2890 -  &lt;p style="float: left">
  7.2891 -    The margins of the next two Ps collapse
  7.2892 -  &lt;p style="clear: left; margin-top: 4em; margin-bottom: 3em">
  7.2893 -    <!-- empty -->
  7.2894 -  &lt;/p>
  7.2895 -  &lt;p style="margin-top: 1em; margin-bottom: 1em">
  7.2896 -    <!-- empty -->
  7.2897 -  &lt;/p>
  7.2898 -&lt;/div>
  7.2899 -</pre>
  7.2900 -
  7.2901 -   <p>The top and bottom margins of the two empty Ps collapse all together.
  7.2902 -    But they can't collapse with the bottom of the DIV, because one of the
  7.2903 -    two empty P's has clearance.
  7.2904 -
  7.2905 -   <p class=issue>Check this. This is probably the only possible
  7.2906 -    interpretation of the rules, but it is certainly not obvious that the
  7.2907 -    clearance of one element may stop later elements from collapsing…
  7.2908 -  </div>
  7.2909 -
  7.2910 -  <p>Collapsing is based on the used value of ‘<a href="#padding"><code
  7.2911 -   class=property>padding</code></a>’, ‘<a href="#margin"><code
  7.2912 -   class=property>margin</code></a>’, and ‘<code
  7.2913 -   class=property>border</code>’ (i.e., after resolving any percentages).
  7.2914 -   The collapsed margin is calculated over the used value of the various
  7.2915 -   margins.
  7.2916 -
  7.2917 -  <h2 id=the-width-and-height-properties><span class=secno>10. </span>The
  7.2918 +  <h2 id=the-width-and-height-properties><span class=secno>9. </span>The
  7.2919     width and height properties</h2>
  7.2920  
  7.2921    <table class=propdef>
  7.2922     <tbody>
  7.2923      <tr>
  7.2924 -     <td>Name:
  7.2925 +     <th>Name:
  7.2926  
  7.2927       <td><dfn id=width>width</dfn>
  7.2928  
  7.2929      <tr>
  7.2930 -     <td>Value:
  7.2931 +     <th>Value:
  7.2932  
  7.2933       <td>[<var>&lt;length></var> | <var>&lt;percentage></var>] && [border-box
  7.2934        | content-box]? | available | min-content | max-content | fit-content |
  7.2935        auto
  7.2936  
  7.2937      <tr>
  7.2938 -     <td>Initial:
  7.2939 +     <th>Initial:
  7.2940  
  7.2941       <td>auto
  7.2942  
  7.2943      <tr>
  7.2944 -     <td>Applies to:
  7.2945 +     <th>Applies to:
  7.2946  
  7.2947       <td>all elements but non-replaced inline elements, table rows, and row
  7.2948        groups
  7.2949  
  7.2950      <tr>
  7.2951 -     <td>Inherited:
  7.2952 +     <th>Inherited:
  7.2953  
  7.2954       <td>no
  7.2955  
  7.2956      <tr>
  7.2957 -     <td>Percentages:
  7.2958 +     <th>Animatable:
  7.2959 +
  7.2960 +     <td>yes
  7.2961 +
  7.2962 +    <tr>
  7.2963 +     <th>Percentages:
  7.2964  
  7.2965       <td>refer to width of containing block
  7.2966  
  7.2967      <tr>
  7.2968 -     <td>Media:
  7.2969 +     <th>Media:
  7.2970  
  7.2971       <td>visual
  7.2972  
  7.2973      <tr>
  7.2974 -     <td>Computed value:
  7.2975 -
  7.2976 -     <td>the specified keyword, the specified percentage (see prose under
  7.2977 -      &lt;percentage>) or the absolute length; ‘<code
  7.2978 -      class=css>auto</code>’ if the property does not apply
  7.2979 +     <th>Computed value:
  7.2980 +
  7.2981 +     <td>the specified keyword; or the specified percentage (with ‘<code
  7.2982 +      class=css>border-box</code>’ or ‘<code
  7.2983 +      class=css>content-box</code>’ if present); or the absolute length
  7.2984 +      (with ‘<code class=css>border-box</code>’ or ‘<code
  7.2985 +      class=css>content-box</code>’ if present); or ‘<code
  7.2986 +      class=css>auto</code>’ if the property does not apply; (also see
  7.2987 +      prose under &lt;percentage>)
  7.2988 +
  7.2989 +    <tr>
  7.2990 +     <th>Canonical order:
  7.2991 +
  7.2992 +     <td>the length or percentage before the keyword, if both are present
  7.2993    </table>
  7.2994  
  7.2995    <table class=propdef>
  7.2996     <tbody>
  7.2997      <tr>
  7.2998 -     <td>Name:
  7.2999 +     <th>Name:
  7.3000  
  7.3001       <td><dfn id=height>height</dfn>
  7.3002  
  7.3003      <tr>
  7.3004 -     <td>Value:
  7.3005 +     <th>Value:
  7.3006  
  7.3007       <td>[<var>&lt;length></var> | <var>&lt;percentage></var>] && [border-box
  7.3008        | content-box]? | available | min-content | max-content | fit-content |
  7.3009        complex | auto
  7.3010  
  7.3011      <tr>
  7.3012 -     <td>Initial:
  7.3013 +     <th>Initial:
  7.3014  
  7.3015       <td>auto
  7.3016  
  7.3017      <tr>
  7.3018 -     <td>Applies to:
  7.3019 +     <th>Applies to:
  7.3020  
  7.3021       <td>all elements but non-replaced inline elements, table columns, and
  7.3022        column groups
  7.3023  
  7.3024      <tr>
  7.3025 -     <td>Inherited:
  7.3026 +     <th>Inherited:
  7.3027  
  7.3028       <td>no
  7.3029  
  7.3030      <tr>
  7.3031 -     <td>Percentages:
  7.3032 +     <th>Animatable:
  7.3033 +
  7.3034 +     <td>yes
  7.3035 +
  7.3036 +    <tr>
  7.3037 +     <th>Percentages:
  7.3038  
  7.3039       <td>see prose
  7.3040  
  7.3041      <tr>
  7.3042 -     <td>Media:
  7.3043 +     <th>Media:
  7.3044  
  7.3045       <td>visual
  7.3046  
  7.3047      <tr>
  7.3048 -     <td>Computed value:
  7.3049 +     <th>Computed value:
  7.3050  
  7.3051       <td>the specified keywords, the specified percentage (see prose under
  7.3052        &lt;percentage>) or the absolute length; ‘<code
  7.3053        class=css>auto</code>’ if the property does not apply
  7.3054 +
  7.3055 +    <tr>
  7.3056 +     <th>Canonical order:
  7.3057 +
  7.3058 +     <td>the length or percentage before the keyword, if both are present
  7.3059    </table>
  7.3060    <!-- Nov 2007, ftf: add four keywords and Jason's example of image + caption -->
  7.3061  
  7.3062 @@ -2817,7 +2587,7 @@
  7.3063      with respect to the width (in the case of ‘<a href="#width"><code
  7.3064      class=property>width</code></a>’) or height (for ‘<a
  7.3065      href="#height"><code class=property>height</code></a>’) of the
  7.3066 -    generated box's <a href="#containing-block">containing block.</a>
  7.3067 +    generated box's <a href="#containing-block0">containing block.</a>
  7.3068      Negative percentages are illegal. If the containing block's width, resp.
  7.3069      height depends on this element, <span class=issue>then the percentage is
  7.3070      relative to ‘<code class=css>100vw</code>’, resp. ‘<code
  7.3071 @@ -2830,11 +2600,11 @@
  7.3072  
  7.3073     <dt>available
  7.3074  
  7.3075 -   <dd>Equal to the <a href="#containing-block"><em>containing block</em></a>
  7.3076 -    width or height minus the current element's margin, border, and padding.
  7.3077 -    <span class=issue>If the required width, resp. height of the containing
  7.3078 -    block is unknown (depends on this element), then ‘<code
  7.3079 -    class=css>available</code>’ is equal to ‘<code
  7.3080 +   <dd>Equal to the <a href="#containing-block0"><em>containing
  7.3081 +    block</em></a> width or height minus the current element's margin,
  7.3082 +    border, and padding. <span class=issue>If the required width, resp.
  7.3083 +    height of the containing block is unknown (depends on this element), then
  7.3084 +    ‘<code class=css>available</code>’ is equal to ‘<code
  7.3085      class=css>100vw</code>’, resp. ‘<code
  7.3086      class=css>100vh</code>’.</span>
  7.3087  
  7.3088 @@ -2869,13 +2639,18 @@
  7.3089      purposes of the section on <a href="#Calculating">“Calculating widths,
  7.3090      heights and margins,”</a> the element is treated as if its height was
  7.3091      ‘<code class=css>auto</code>’ and it had an <em>intrinsic ratio.</em>
  7.3092 -    
  7.3093    </dl>
  7.3094  
  7.3095    <p class=issue>Another possible value is
  7.3096     <var>&lt;non-negative-number&gt;</var>, which would mean ‘<code
  7.3097     class=css>min-content</code>’ times that number.
  7.3098  
  7.3099 +  <p class=issue>The width property of ‘<a href="#viewport"><code
  7.3100 +   class=css>@viewport</code></a>’ <a href="#CSS-DEVICE-ADAPT"
  7.3101 +   rel=biblioentry>[CSS-DEVICE-ADAPT]<!--{{CSS-DEVICE-ADAPT}}--></a> is a
  7.3102 +   shorthand for min-width and max-width and can have either one or two
  7.3103 +   values. Anything we can do to alleviate risk of the confusion?
  7.3104 +
  7.3105    <p class=note>Note that ‘<code class=css>available</code>’, ‘<code
  7.3106     class=css>max-content</code>’, ‘<code class=css>min-content</code>’,
  7.3107     ‘<code class=css>fit-content</code>’, ‘<code
  7.3108 @@ -2982,103 +2757,131 @@
  7.3109      class=property>box-sizing</code></a>’ property).
  7.3110    </div>
  7.3111  
  7.3112 -  <h2 id=min-max><span class=secno>11. </span>The min-width, max-width,
  7.3113 +  <h2 id=min-max><span class=secno>10. </span>The min-width, max-width,
  7.3114     min-height and max-height properties</h2>
  7.3115  
  7.3116    <table class=propdef>
  7.3117     <tbody>
  7.3118      <tr>
  7.3119 -     <td>Name:
  7.3120 +     <th>Name:
  7.3121  
  7.3122       <td><dfn id=min-width>min-width</dfn>, <dfn
  7.3123        id=min-height>min-height</dfn>
  7.3124  
  7.3125      <tr>
  7.3126 -     <td>Value:
  7.3127 -
  7.3128 -     <td><a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.3129 -      href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a> | available |
  7.3130 -      min-content | max-content | fit-content
  7.3131 -
  7.3132 -    <tr>
  7.3133 -     <td>Initial:
  7.3134 +     <th>Value:
  7.3135 +
  7.3136 +     <td>[ [<a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.3137 +      href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a>] &&
  7.3138 +      [border-box | content-box]? ] | available | min-content | max-content |
  7.3139 +      fit-content
  7.3140 +
  7.3141 +    <tr>
  7.3142 +     <th>Initial:
  7.3143  
  7.3144       <td>0
  7.3145  
  7.3146      <tr>
  7.3147 -     <td>Applies to:
  7.3148 +     <th>Applies to:
  7.3149  
  7.3150       <td>all elements but non-replaced inline elements, table rows, and row
  7.3151        groups
  7.3152  
  7.3153      <tr>
  7.3154 -     <td>Inherited:
  7.3155 +     <th>Inherited:
  7.3156  
  7.3157       <td>no
  7.3158  
  7.3159      <tr>
  7.3160 -     <td>Percentages:
  7.3161 +     <th>Animatable:
  7.3162 +
  7.3163 +     <td>yes
  7.3164 +
  7.3165 +    <tr>
  7.3166 +     <th>Percentages:
  7.3167  
  7.3168       <td>refer to width, resp. height of containing block
  7.3169  
  7.3170      <tr>
  7.3171 -     <td>Media:
  7.3172 +     <th>Media:
  7.3173  
  7.3174       <td>visual
  7.3175  
  7.3176      <tr>
  7.3177 -     <td>Computed value:
  7.3178 -
  7.3179 -     <td>the percentage as specified, the keyword as specified, or the
  7.3180 -      absolute length
  7.3181 +     <th>Computed value:
  7.3182 +
  7.3183 +     <td>the percentage as specified (with ‘<code
  7.3184 +      class=css>border-box</code>’ or ‘<code
  7.3185 +      class=css>content-box</code>’, if present), the keyword as specified,
  7.3186 +      or the absolute length (with ‘<code class=css>border-box</code>’ or
  7.3187 +      ‘<code class=css>content-box</code>’, if present)
  7.3188 +
  7.3189 +    <tr>
  7.3190 +     <th>Canonical order:
  7.3191 +
  7.3192 +     <td>the length or percentage before the keyword, if both are present
  7.3193    </table>
  7.3194  
  7.3195    <table class=propdef>
  7.3196     <tbody>
  7.3197      <tr>
  7.3198 -     <td>Name:
  7.3199 +     <th>Name:
  7.3200  
  7.3201       <td><dfn id=max-width>max-width</dfn>, <dfn
  7.3202        id=max-height>max-height</dfn>
  7.3203  
  7.3204      <tr>
  7.3205 -     <td>Value:
  7.3206 -
  7.3207 -     <td><a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.3208 -      href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a> | available |
  7.3209 -      min-content | max-content | fit-content | none
  7.3210 -
  7.3211 -    <tr>
  7.3212 -     <td>Initial:
  7.3213 +     <th>Value:
  7.3214 +
  7.3215 +     <td>[ [<a href="#ltlengthgt"><var>&lt;length&gt;</var></a> | <a
  7.3216 +      href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a>] &&
  7.3217 +      [border-box | content-box]? ] | available | min-content | max-content |
  7.3218 +      fit-content | none
  7.3219 +
  7.3220 +    <tr>
  7.3221 +     <th>Initial:
  7.3222  
  7.3223       <td>none
  7.3224  
  7.3225      <tr>
  7.3226 -     <td>Applies to:
  7.3227 +     <th>Applies to:
  7.3228  
  7.3229       <td>all elements but non-replaced inline elements, table rows, and row
  7.3230        groups
  7.3231  
  7.3232      <tr>
  7.3233 -     <td>Inherited:
  7.3234 +     <th>Inherited:
  7.3235  
  7.3236       <td>no
  7.3237  
  7.3238      <tr>
  7.3239 -     <td>Percentages:
  7.3240 +     <th>Animatable:
  7.3241 +
  7.3242 +     <td>yes
  7.3243 +
  7.3244 +    <tr>
  7.3245 +     <th>Percentages:
  7.3246  
  7.3247       <td>refer to width, resp. height of containing block
  7.3248  
  7.3249      <tr>
  7.3250 -     <td>Media:
  7.3251 +     <th>Media:
  7.3252  
  7.3253       <td>visual
  7.3254  
  7.3255      <tr>
  7.3256 -     <td>Computed value:
  7.3257 -
  7.3258 -     <td>the percentage as specified, the keyword as specified, the absolute
  7.3259 -      length, or ‘<code class=css>none</code>’
  7.3260 +     <th>Computed value:
  7.3261 +
  7.3262 +     <td>the percentage as specified (with ‘<code
  7.3263 +      class=css>border-box</code>’ or ‘<code
  7.3264 +      class=css>content-box</code>’, if present); the keyword as specified;
  7.3265 +      the absolute length (with ‘<code class=css>border-box</code>’ or
  7.3266 +      ‘<code class=css>content-box</code>’, if present); or none
  7.3267 +
  7.3268 +    <tr>
  7.3269 +     <th>Canonical order:
  7.3270 +
  7.3271 +     <td>the length or percentage before the keyword, if both are present
  7.3272    </table>
  7.3273  
  7.3274    <p>These properties allow authors to constrain content widths and heights
  7.3275 @@ -3096,7 +2899,7 @@
  7.3276     <dd>Specifies a minimum or maximum for ‘<a href="#width"><code
  7.3277      class=property>width</code></a>’ or ‘<a href="#height"><code
  7.3278      class=property>height</code></a>’ as a percentage of the corresponding
  7.3279 -    dimension of the <a href="#containing-block"><em>containing
  7.3280 +    dimension of the <a href="#containing-block0"><em>containing
  7.3281      block.</em></a> Negative percentages are illegal. If the containing
  7.3282      block's dimension is negative, the used value is zero. If that containing
  7.3283      block's dimension depends on this element's dimension, then the resulting
  7.3284 @@ -3155,7 +2958,7 @@
  7.3285     class=property>max-width</code></a>’ act like ‘<code
  7.3286     class=css>0</code>’ and ‘<code class=css>none</code>’, resp.
  7.3287  
  7.3288 -  <h2 id=intrinsic><span class=secno>12. </span>Definition of intrinsic sizes
  7.3289 +  <h2 id=intrinsic><span class=secno>11. </span>Definition of intrinsic sizes
  7.3290     – high quality</h2>
  7.3291  
  7.3292    <p>The size of a box often depends on the width or height of its content.
  7.3293 @@ -3261,7 +3064,7 @@
  7.3294     easy cases (only inline content) but is quicker to compute in complex
  7.3295     cases.
  7.3296  
  7.3297 -  <h2 id=intrinsic-low><span class=secno>13. </span>Definition of intrinsic
  7.3298 +  <h2 id=intrinsic-low><span class=secno>12. </span>Definition of intrinsic
  7.3299     sizes – low quality</h2>
  7.3300  
  7.3301    <p>UA's may also, if speed is preferred over quality, use the <dfn
  7.3302 @@ -3276,7 +3079,6 @@
  7.3303      <br>
  7.3304      APREF =
  7.3305      max(<var>P<sub>1</sub></var>,<var>P<sub>2</sub></var>,<var>P<sub>3</sub></var>,<var>P<sub>4</sub></var>)
  7.3306 -    
  7.3307    </blockquote>
  7.3308  
  7.3309    <p>where
  7.3310 @@ -3349,7 +3151,465 @@
  7.3311    <p>The corresponding definitions for vertical elements are analogous, with
  7.3312     width and height swapped.
  7.3313  
  7.3314 -  <h2 id=Calculating><span class=secno>14. </span>Calculating widths, heights
  7.3315 +  <h2 id=aspect-ratios-of-replaced-elements><span class=secno>13.
  7.3316 +   </span><span class=index id=aspect-ratios>Aspect ratios</span> of replaced
  7.3317 +   elements</h2>
  7.3318 +
  7.3319 +  <p>For the purposes of the width and height calculations below, CSS
  7.3320 +   distinguishes four kinds of <a href="#replaced-element"><em class=index
  7.3321 +   id=replaced-elements title="replaced element">replaced elements</em></a>:
  7.3322 +
  7.3323 +  <dl>
  7.3324 +   <dt>Type 1: replaced elements with both <em class=index
  7.3325 +    id=intrinsic-width>intrinsic width</em> and <em class=index
  7.3326 +    id=intrinsic-height.>intrinsic height.</em>
  7.3327 +
  7.3328 +   <dd>These are replaced elements that are meant to be displayed with a
  7.3329 +    certain fixed factor (the <em class=index id=intrinsic-ratio>intrinsic
  7.3330 +    ratio</em>) between their width and height and also have a default size.
  7.3331 +    Different formats may have different ways of specifying the size, e.g., a
  7.3332 +    width and a ratio, or a raster and a resolution in dots per inch. Raster
  7.3333 +    images fall in this category.
  7.3334 +
  7.3335 +   <dt>Type 2: replaced elements with only an <em class=index
  7.3336 +    id=intrinsic-ratio0>intrinsic ratio</em>
  7.3337 +
  7.3338 +   <dd>These are replaced elements that are meant to be displayed with a
  7.3339 +    certain fixed factor between their width and height, but without a
  7.3340 +    default size. <span class=index id=svg0>SVG</span> images often fall in
  7.3341 +    the this category.
  7.3342 +
  7.3343 +   <dt>Type 3: replaced elements with a <dfn id=complex-aspect-ratio>complex
  7.3344 +    aspect ratio</dfn>
  7.3345 +
  7.3346 +   <dd>These are replaced elements that do not have a <em>fixed</em> ratio
  7.3347 +    between their width and height, but that do have a functional relation
  7.3348 +    between them in the sense that for every width there is a unique height.
  7.3349 +    HTML documents are examples of this: the width can be chosen freely, but
  7.3350 +    at every width there is a definite intrinsic height.
  7.3351 +
  7.3352 +   <dt>Type 4: replaced elements without an intrinsic ratio
  7.3353 +
  7.3354 +   <dd>These are replaced elements that have no relation between their width
  7.3355 +    and height. Certain <span class=index id=svg1>SVG</span> images are
  7.3356 +    examples of this.
  7.3357 +  </dl>
  7.3358 +
  7.3359 +  <p>For <span class=index id=raster-images>raster images</span> without
  7.3360 +   reliable resolution information, a size of 1 px unit per image source
  7.3361 +   pixel must be assumed. These images thus are of type 1.
  7.3362 +
  7.3363 +  <div class=example>
  7.3364 +   <p>E.g., according to the section on <a href="#inline-replaced">inline
  7.3365 +    replaced elements</a> below, if the replaced element is an HTML document
  7.3366 +    and the height is specified as ‘<code class=css>auto</code>’, e.g.:
  7.3367 +
  7.3368 +   <pre>
  7.3369 +... &lt;object data="example.html"
  7.3370 +      style="width: 30em; height: auto">&lt;/object>...
  7.3371 +</pre>
  7.3372 +
  7.3373 +   <p>then the used height will be 150px, which is unlikely to be the real
  7.3374 +    height of the example.html document. But if the height is specified as
  7.3375 +    ‘<code class=css>complex</code>’, e.g.:
  7.3376 +
  7.3377 +   <pre>
  7.3378 +... &lt;object data="example.html"
  7.3379 +      style="width: 30em; height: complex">&lt;/object>...
  7.3380 +</pre>
  7.3381 +
  7.3382 +   <p>then the height will be the height the example.html document normally
  7.3383 +    has when displayed on its own with the given width. This enables almost
  7.3384 +    seamless integration of external text in a document, without a scrollbar
  7.3385 +    or other scrolling mechanism. (The external text is still displayed with
  7.3386 +    its own style sheet.)
  7.3387 +  </div>
  7.3388 +
  7.3389 +  <div class=example>
  7.3390 +   <p>An external mathematical formula in MathML is an example of replaced
  7.3391 +    content with an intrinsic width and height. Assume the file m.mml
  7.3392 +    contains a formula, then the HTML fragment
  7.3393 +
  7.3394 +   <pre>
  7.3395 +... derive &lt;img src="m.mml"
  7.3396 +alt="that the sum of p(i) for i greater than 0 equals N">
  7.3397 +for the case...
  7.3398 +</pre>
  7.3399 +
  7.3400 +   <p>renders the formula at its intrinsic size.
  7.3401 +  </div>
  7.3402 +
  7.3403 +  <p class=issue>The mathematical formula would however benefit from a way to
  7.3404 +   negotiate available space against intrinsic size, or even negotiate
  7.3405 +   available space against the number of boxes, so that the formula could be
  7.3406 +   broken in two or more boxes and occupy space on two or more lines (similar
  7.3407 +   to how lines of text are broken or words are hyphenated). HTML5, unlike
  7.3408 +   HTML4, has math elements, so formulas can be embedded instead of
  7.3409 +   transcluded, which would solve the problem if CSS had properties for math
  7.3410 +   typography…
  7.3411 +
  7.3412 +  <h2 id=block-level-formatting><span class=secno>14. </span>Block-level
  7.3413 +   formatting</h2>
  7.3414 +
  7.3415 +  <p>In a <dfn id=block-formatting-context>block formatting context,</dfn>
  7.3416 +   block-level boxes are laid out in the manner of a series of paragraphs.
  7.3417 +
  7.3418 +  <p>The boxes of a <a href="#flow0">flow</a> are laid out one after the
  7.3419 +   other in the direction of the ‘<a href="#writing-mode"><code
  7.3420 +   class=property>writing-mode</code></a>’ property of the <a
  7.3421 +   href="#flow-root">flow root</a> and in the same order as in the source
  7.3422 +   document. Their position is given by how much their margins overlap (see
  7.3423 +   <a href="#collapsing-margins">“Collapsing margins”</a>) and by the
  7.3424 +   fact that their side margin edges coincide with the edges of their
  7.3425 +   containing block. More precisely: Each box's <a href="#d-edge."
  7.3426 +   title="D edge">D</a> and <a href="#b-edge">B edge</a> coincide with
  7.3427 +   respectively the <a href="#start">start</a> and <a href="#end">end</a>
  7.3428 +   edges of its <a href="#containing-block0">containing block.</a>
  7.3429 +
  7.3430 +  <p class=issue>When is a block formatting context established?
  7.3431 +
  7.3432 +  <p class=issue>TODO: Need to deal with anonymous block boxes.
  7.3433 +
  7.3434 +  <div class=example>
  7.3435 +   <p>An example of the last point above is this document fragment:
  7.3436 +
  7.3437 +   <pre>&lt;p&gt;Somebody whose name I have
  7.3438 +forgotten, said, long ago: &lt;q&gt;a box is
  7.3439 +a box,&lt;/q&gt; and he probably meant it.&lt;/p&gt;</pre>
  7.3440 +
  7.3441 +   <p>with these style rules:
  7.3442 +
  7.3443 +   <pre>p { display: block }
  7.3444 +q { display: block; margin: 1em }</pre>
  7.3445 +
  7.3446 +   <p>The <code>p</code> element has both line boxes and a child box for the
  7.3447 +    <code>q</code> element, which is a block-level element. The line boxes
  7.3448 +    before the <code>q</code> are wrapped in an anonymous block-level box and
  7.3449 +    so are the line boxes after the <code>q</code>. The resulting tree of
  7.3450 +    boxes might be as follows (refer to the <a href="#When">figure</a>):
  7.3451 +
  7.3452 +   <ul>
  7.3453 +    <li>block-level box [p]
  7.3454 +     <ul>
  7.3455 +      <li>block-level box [anonymous]
  7.3456 +       <ul>
  7.3457 +        <li>line box: “Somebody…”
  7.3458 +
  7.3459 +        <li>line box: “forgotten…”
  7.3460 +       </ul>
  7.3461 +
  7.3462 +      <li>block-level box [q]
  7.3463 +       <ul>
  7.3464 +        <li>line box: “a box…”
  7.3465 +       </ul>
  7.3466 +
  7.3467 +      <li>block-level box [anonymous]
  7.3468 +       <ul>
  7.3469 +        <li>line box: “and he…”
  7.3470 +       </ul>
  7.3471 +     </ul>
  7.3472 +   </ul>
  7.3473 +
  7.3474 +   <div class=figure id=When>
  7.3475 +    <p><img
  7.3476 +     alt="The P element has two line boxes before the q and one   after. The first two are wrapped in an anonymous box, the last one   is wrapped in another anonymous box."
  7.3477 +     src=anonymous.png>
  7.3478 +
  7.3479 +    <p class=caption>When the fragment is rendered, the text before the q is
  7.3480 +     wrapped in an anonymous block and the text after the q in another.
  7.3481 +   </div>
  7.3482 +  </div>
  7.3483 +  <!--example-->
  7.3484 +
  7.3485 +  <h3 id=collapsing-margins><span class=secno>14.1. </span>Collapsing margins</h3>
  7.3486 +
  7.3487 +  <p>Certain adjoining margins, as defined in this section, combine to form a
  7.3488 +   single margin. Those margins are said to <dfn id=collapse.>collapse.</dfn>
  7.3489 +   Margins are <dfn id=adjoining>adjoining</dfn> if there are no nonempty
  7.3490 +   content, <a href="#padding-area" title="padding area">padding</a> or <a
  7.3491 +   href="#border-area" title="border area">border areas</a> or <a
  7.3492 +   href="#clearance."><em>clearance</em></a> to separate them.
  7.3493 +
  7.3494 +  <div class=example>
  7.3495 +   <p>For example, in the following fragment with the given style rules:
  7.3496 +
  7.3497 +   <pre>p { display: block; margin-bottom: 2em 0 1em 0 }
  7.3498 +div { display: block; margin: 2.5em 0 }
  7.3499 +...
  7.3500 +&lt;p&gt;First paragraph&lt;/p&gt;
  7.3501 +&lt;div&gt;
  7.3502 +  &lt;p&gt;Second paragraph&lt;/p&gt;
  7.3503 +&lt;/div&gt;</pre>
  7.3504 +
  7.3505 +   <p>the bottom margin of the first <code>p</code> (=1em), the top margin of
  7.3506 +    the <code>div</code> (=2.5em) and the top margin of the second
  7.3507 +    <code>p</code> (=2em) collapse. The result is a single margin of 2.5em
  7.3508 +    (the maximum of the three) between the bottom of the first <code>p</code>
  7.3509 +    and the top of the second.
  7.3510 +  </div>
  7.3511 +
  7.3512 +  <div class=figure>
  7.3513 +   <p><img alt="Three margins collapse: 1em + 2.5em + 2em" src=collapse1.png>
  7.3514 +
  7.3515 +   <p class=caption>Schematic representation of the previous example.
  7.3516 +  </div>
  7.3517 +
  7.3518 +  <div class=example>
  7.3519 +   <p>In the following fragment,
  7.3520 +
  7.3521 +   <pre>p { display: block; margin: 2em 0 1em 0 }
  7.3522 +div { display: block; margin: 2.5em 0;
  7.3523 +      border: thin solid }
  7.3524 +...
  7.3525 +&lt;p&gt;First paragraph&lt;/p&gt;
  7.3526 +&lt;div&gt;
  7.3527 +  &lt;p&gt;Second paragraph&lt;/p&gt;
  7.3528 +&lt;/div&gt;</pre>
  7.3529 +
  7.3530 +   <p>the bottom margin of the first <code>p</code> and the top margin of the
  7.3531 +    <code>div</code> collapse, but the top margin of the second
  7.3532 +    <code>p</code> does not collapse with them, because it is not <a
  7.3533 +    href="#adjoining"><em>adjoining;</em></a> the border of the
  7.3534 +    <code>div</code> separates them.
  7.3535 +  </div>
  7.3536 +
  7.3537 +  <div class=figure>
  7.3538 +   <p><img alt="Only two margins collapse: 1em + 2.5em" src=collapse2.png>
  7.3539 +
  7.3540 +   <p class=caption>Schematic representation of the previous example.
  7.3541 +  </div>
  7.3542 +
  7.3543 +  <p>If a set of adjoining margins collapses, then the width of the resulting
  7.3544 +   margin is <var>M</var> - <var>N</var>, where <var>M</var> is the maximum
  7.3545 +   of the adjoining margins that are positive, or zero if there are none; and
  7.3546 +   <var>N</var> is the minimum of the adjoining margins that are negative, or
  7.3547 +   zero if there are none.
  7.3548 +
  7.3549 +  <p>We call an element or box <dfn id=collapsed-through>collapsed
  7.3550 +   through</dfn> if two of its margins collapse with each other.
  7.3551 +
  7.3552 +  <div class=example>
  7.3553 +   <p>The most common use of collapsing through elements is that empty
  7.3554 +    paragraphs don't cause extra white space:
  7.3555 +
  7.3556 +   <pre>&lt;p>First paragraph
  7.3557 +&lt;p>Second paragraph
  7.3558 +&lt;p>
  7.3559 +&lt;p>Last paragraph</pre>
  7.3560 +
  7.3561 +   <p>There is equal space between the first and the second paragraphs as
  7.3562 +    between the second and the last.
  7.3563 +  </div>
  7.3564 +
  7.3565 +  <p>The following two sets of rules determine which margins collapse.
  7.3566 +
  7.3567 +  <ul>
  7.3568 +   <li>Only margins of <a href="#block-level"><em>block-level</em></a> boxes
  7.3569 +    can collapse.
  7.3570 +
  7.3571 +   <li>Margins of a floated box do not collapse with any other margins.
  7.3572 +
  7.3573 +   <li>Margins of a <a href="#flow-root"><em>flow root</em></a> do not
  7.3574 +    collapse with its children's margins.
  7.3575 +
  7.3576 +   <li>Margins of an absolutely positioned box (see <a href="#CSS3POS"
  7.3577 +    rel=biblioentry>[CSS3POS]<!--{{CSS3POS}}--></a>) do not collapse with any
  7.3578 +    other margins. <!--
  7.3579 +  <li>Margins of an ''inline-block'' box do not collapse (not even
  7.3580 +  with its in-flow children). <span class=issue>Assuming the first
  7.3581 +  rule above (“only block-level”) is correct, this rule seems
  7.3582 +  redundant, because an inline block is not block-level.</span>
  7.3583 +  -->
  7.3584 +
  7.3585 +   <li>Margins of the root element's box do not collapse with any other
  7.3586 +    margins.
  7.3587 +
  7.3588 +   <li>If a box is <a href="#collapsed-through"><em>collapsed
  7.3589 +    through</em></a> and it has <a href="#clearance."><em>clearance</em></a>
  7.3590 +    applied to one of its two collapsed margins, then those two margins do
  7.3591 +    not collapse with certain of the parent's margins, as follows: If
  7.3592 +    clearance is applied to, respectively, the top, right, bottom or left
  7.3593 +    margin, then the two margins do not collapse with the parent's bottom,
  7.3594 +    left, top or right margin, respectively.
  7.3595 +
  7.3596 +   <li>If a <a href="#horizontal"><em>horizontal</em></a> element has a ‘<a
  7.3597 +    href="#height"><code class=property>height</code></a>’ that is not
  7.3598 +    ‘<code class=css>auto</code>’, or if setting its ‘<a
  7.3599 +    href="#min-height"><code class=property>min-height</code></a>’ and
  7.3600 +    ‘<a href="#max-height"><code class=property>max-height</code></a>’ to
  7.3601 +    their initial values would change its used height, then the <em>tail</em>
  7.3602 +    margin of the element does not collapse with any of its children's
  7.3603 +    margins. <span class=issue>[Check with latest CSS 2.1 if min/max
  7.3604 +    width/height still have this effect.]</span>
  7.3605 +
  7.3606 +   <li>Similarly, if a <a href="#vertical."><em>vertical</em></a> element has
  7.3607 +    a ‘<a href="#width"><code class=property>width</code></a>’ that is
  7.3608 +    not ‘<code class=css>auto</code>’, or if setting its ‘<a
  7.3609 +    href="#min-width"><code class=property>min-width</code></a>’ and ‘<a
  7.3610 +    href="#max-width"><code class=property>max-width</code></a>’ to their
  7.3611 +    initial values would change the used width, then the <em>tail</em> margin
  7.3612 +    of the element does not collapse with any of its children's margins.
  7.3613 +    <span class=issue>[Check with latest CSS 2.1 if min/max width/height
  7.3614 +    still have this effect.]</span>
  7.3615 +  </ul>
  7.3616 +
  7.3617 +  <p>Except when forbidden by the list above, the following margins collapse:
  7.3618 +
  7.3619 +  <ul><!-- transitive -->
  7.3620 +
  7.3621 +   <li>
  7.3622 +    <p>If a margin P collapses with a margin Q and margin Q with a margin R,
  7.3623 +     then P, Q and R collapse together. (“Collapsing is transitive”)
  7.3624 +     <!-- parent-child / head -->
  7.3625 +
  7.3626 +   <li>
  7.3627 +    <p>A margin of a box collapses with the <a href="#head"><em>head</em></a>
  7.3628 +     margin of its parent box if those two margins are <a
  7.3629 +     href="#adjoining"><em>adjoining.</em></a> <!-- parent-child / tail -->
  7.3630 +
  7.3631 +   <li>
  7.3632 +    <p>A margin of a box collapses with the <em>tail</em> margin of its
  7.3633 +     parent box if those two margins are <a
  7.3634 +     href="#adjoining"><em>adjoining.</em></a> <!-- sibling -->
  7.3635 +
  7.3636 +   <li>
  7.3637 +    <p>The <a href="#head"><em>head</em></a> margin of a box collapses with
  7.3638 +     the <em>tail</em> margin of a sibling box if the two margins are <a
  7.3639 +     href="#adjoining"><em>adjoining.</em></a> <!-- self top-bottom -->
  7.3640 +
  7.3641 +   <li>
  7.3642 +    <p>The top and bottom margins of a box A collapse with each other if the
  7.3643 +     two margins are <a href="#adjoining"><em>adjoining</em></a> and the
  7.3644 +     parent box B is <a href="#horizontal"><em>horizontal.</em></a> (The box
  7.3645 +     is <a href="#collapsed-through"><em>“collapsed through.”</em></a>)
  7.3646 +     <!-- self left-right -->
  7.3647 +
  7.3648 +   <li>
  7.3649 +    <p>The left and right margins of a box A collapse with each other if the
  7.3650 +     two margins are <a href="#adjoining"><em>adjoining</em></a> and the
  7.3651 +     parent box B is <a href="#vertical."><em>vertical.</em></a> (The box is
  7.3652 +     <a href="#collapsed-through"><em>“collapsed through.”</em></a>)
  7.3653 +  </ul>
  7.3654 +
  7.3655 +  <p>If a box A is <a href="#collapsed-through"><em>collapsed
  7.3656 +   through</em></a> and it has the same mode as its parent (i.e., both are <a
  7.3657 +   href="#horizontal"><em>horizontal</em></a> or both are <a
  7.3658 +   href="#vertical."><em>vertical</em></a>), then the position of its <a
  7.3659 +   href="#head"><em>head</em></a> border edge is defined as follows.
  7.3660 +
  7.3661 +  <ul>
  7.3662 +   <li>If the box A's margins are collapsed with its parent's <a
  7.3663 +    href="#head"><em>head</em></a> margin, the head border edge of A is
  7.3664 +    defined to be the same as the parent's head border edge.
  7.3665 +
  7.3666 +   <li>Otherwise, either the parent is not taking part in the margin
  7.3667 +    collapsing, or only the parent's <em>tail</em> margin is involved. The
  7.3668 +    position of A's head border edge is defined to be the same as it would
  7.3669 +    have been if A had a nonzero <em>tail</em> border.
  7.3670 +  </ul>
  7.3671 +
  7.3672 +  <p class=note>Note that box A itself is invisible and its position has no
  7.3673 +   effect on the positions of the other elements with whose margins it is
  7.3674 +   being collapsed; the border edge position is only required for laying out
  7.3675 +   descendants of A.
  7.3676 +
  7.3677 +  <div class=example>
  7.3678 +   <p>In a horizontal flow, the bottom margin of an in-flow <a
  7.3679 +    href="#block-level">block-level</a> element is always adjoining to the
  7.3680 +    top margin of its next in-flow block-level sibling, unless that sibling
  7.3681 +    has clearance:
  7.3682 +
  7.3683 +   <pre>
  7.3684 +&lt;p style="margin-bottom: 2em">The bottom margin of this
  7.3685 +box…&lt;/p>
  7.3686 +
  7.3687 +&lt;p style="margin-top: 3em">… collapses with the top margin
  7.3688 +of this box, to yield max(2em, 3em) = 3em margin.&lt;/p>
  7.3689 +</pre>
  7.3690 +
  7.3691 +   <p>The top margin of an in-flow block-level element is adjoining to its
  7.3692 +    first in-flow block-level child's top margin if the element has no top
  7.3693 +    border, no top padding, and the child has no clearance:
  7.3694 +
  7.3695 +   <pre>
  7.3696 +&lt;div style="margin-top: 2em; padding: 0; border: 0">
  7.3697 +  &lt;p style="margin-top: 3em">
  7.3698 +    The top margin of the DIV and the P
  7.3699 +    collapse, to yield max(2em, 3em) = 3em margin.
  7.3700 +  &lt;/p>
  7.3701 +&lt;/div>
  7.3702 +</pre>
  7.3703 +
  7.3704 +   <p>The bottom margin of an in-flow block-level element with a ‘<a
  7.3705 +    href="#height"><code class=property>height</code></a>’ of ‘<code
  7.3706 +    class=css>auto</code>’ and ‘<a href="#min-height"><code
  7.3707 +    class=property>min-height</code></a>’ less than the element's used
  7.3708 +    height and ‘<a href="#max-height"><code
  7.3709 +    class=property>max-height</code></a>’ greater than the element's used
  7.3710 +    height is adjoining to its last in-flow block-level child's bottom margin
  7.3711 +    if the element has no bottom padding or border:
  7.3712 +
  7.3713 +   <pre>
  7.3714 +&lt;div style="margin-bottom: 2em; padding: 0; border: 0;
  7.3715 +    height: auto; min-height: 0; max-height: 100em">
  7.3716 +  &lt;p style="margin-bottom: 3em">
  7.3717 +    The bottom margin of the DIV and the P collapse, to yield max(2em,
  7.3718 +    3em) = 3em margin.
  7.3719 +  &lt;/p>
  7.3720 +&lt;/div>
  7.3721 +</pre>
  7.3722 +
  7.3723 +   <p>An element's own margins are adjoining if the ‘<a
  7.3724 +    href="#min-height"><code class=property>min-height</code></a>’ property
  7.3725 +    is zero, and it has neither vertical borders nor vertical padding, and it
  7.3726 +    has a ‘<a href="#height"><code class=property>height</code></a>’ of
  7.3727 +    either 0 or ‘<code class=css>auto</code>’, and it does not contain a
  7.3728 +    line box, and all of its in-flow children's margins (if any) are
  7.3729 +    adjoining:
  7.3730 +
  7.3731 +   <pre>
  7.3732 +&lt;div style="margin-top: 2em; margin-bottom: 3em">
  7.3733 +  &lt;p style="position: absolute">
  7.3734 +    The DIV is empty and its top and bottom margins collapse.
  7.3735 +  &lt;/p>
  7.3736 +&lt;/div>
  7.3737 +</pre>
  7.3738 +
  7.3739 +   <p>When an element's own margins collapse, and that element has had
  7.3740 +    clearance applied to it, its top margin collapses with the adjoining
  7.3741 +    margins of subsequent siblings but that resulting margin does not
  7.3742 +    collapse with the bottom margin of the parent block:
  7.3743 +
  7.3744 +   <pre>
  7.3745 +&lt;div style="margin-bottom: 2em">
  7.3746 +  &lt;p style="float: left">
  7.3747 +    The margins of the next two Ps collapse
  7.3748 +  &lt;p style="clear: left; margin-top: 4em; margin-bottom: 3em">
  7.3749 +    <!-- empty -->
  7.3750 +  &lt;/p>
  7.3751 +  &lt;p style="margin-top: 1em; margin-bottom: 1em">
  7.3752 +    <!-- empty -->
  7.3753 +  &lt;/p>
  7.3754 +&lt;/div>
  7.3755 +</pre>
  7.3756 +
  7.3757 +   <p>The top and bottom margins of the two empty Ps collapse all together.
  7.3758 +    But they can't collapse with the bottom of the DIV, because one of the
  7.3759 +    two empty P's has clearance.
  7.3760 +
  7.3761 +   <p class=issue>Check this. This is probably the only possible
  7.3762 +    interpretation of the rules, but it is certainly not obvious that the
  7.3763 +    clearance of one element may stop later elements from collapsing…
  7.3764 +  </div>
  7.3765 +
  7.3766 +  <p>Collapsing is based on the used value of ‘<a href="#padding"><code
  7.3767 +   class=property>padding</code></a>’, ‘<a href="#margin"><code
  7.3768 +   class=property>margin</code></a>’, and ‘<code
  7.3769 +   class=property>border</code>’ (i.e., after resolving any percentages).
  7.3770 +   The collapsed margin is calculated over the used value of the various
  7.3771 +   margins.
  7.3772 +
  7.3773 +  <h2 id=Calculating><span class=secno>15. </span>Calculating widths, heights
  7.3774     and margins</h2>
  7.3775  
  7.3776    <p>The following two algorithms define the <a href="#used-value."><em>used
  7.3777 @@ -3564,7 +3824,7 @@
  7.3778     class=property>height</code></a>’.
  7.3779  
  7.3780    <p>The following subsections apply if the element's <a
  7.3781 -   href="#containing-block"><em>containing block</em></a> is <a
  7.3782 +   href="#containing-block0"><em>containing block</em></a> is <a
  7.3783     href="#horizontal"><em>horizontal.</em></a> If it is <a
  7.3784     href="#vertical."><em>vertical,</em></a> the same rules apply, but with
  7.3785     every occurrence of “left” replaced by “top,” “right” by
  7.3786 @@ -3572,7 +3832,6 @@
  7.3787     “height” by “width” and “width” by “height.”
  7.3788     <!-- '100vw' decided at ftf Sep 10, 2007. '100vh' is my sugggestion
  7.3789  [BB] -->
  7.3790 -   
  7.3791  
  7.3792    <p>For the purposes of evaluating percentages in the following subsections,
  7.3793     if the width of the containing block is unknown, then assume the width is
  7.3794 @@ -3580,7 +3839,7 @@
  7.3795     containing block is unknown, then assume it is ‘<code
  7.3796     class=css>100vh</code>’.
  7.3797  
  7.3798 -  <h3 id=inline-non-replaced><span class=secno>14.1. </span>Inline,
  7.3799 +  <h3 id=inline-non-replaced><span class=secno>15.1. </span>Inline,
  7.3800     non-replaced elements</h3>
  7.3801  
  7.3802    <p>The ‘<a href="#width"><code class=property>width</code></a>’ and
  7.3803 @@ -3596,11 +3855,11 @@
  7.3804     percentages and replacing ‘<code class=css>auto</code>’ by 0.
  7.3805  
  7.3806    <p class=note>Note that this section applies equally when the <a
  7.3807 -   href="#containing-block"><em>containing block</em></a> is <a
  7.3808 +   href="#containing-block0"><em>containing block</em></a> is <a
  7.3809     href="#horizontal"><em>horizontal</em></a> as when it is <a
  7.3810     href="#vertical."><em>vertical.</em></a>
  7.3811  
  7.3812 -  <h3 id=inline-replaced><span class=secno>14.2. </span>Inline or floating,
  7.3813 +  <h3 id=inline-replaced><span class=secno>15.2. </span>Inline or floating,
  7.3814     replaced elements</h3>
  7.3815  
  7.3816    <p>The used values of ‘<a href="#margin-left"><code
  7.3817 @@ -3703,11 +3962,11 @@
  7.3818     intrinsic width.
  7.3819  
  7.3820    <p class=note>Note that this section applies equally when the <a
  7.3821 -   href="#containing-block"><em>containing block</em></a> is <a
  7.3822 +   href="#containing-block0"><em>containing block</em></a> is <a
  7.3823     href="#horizontal"><em>horizontal</em></a> as when it is <a
  7.3824     href="#vertical."><em>vertical.</em></a>
  7.3825  
  7.3826 -  <h3 id=blockwidth><span class=secno>14.3. </span>Block-level, non-replaced
  7.3827 +  <h3 id=blockwidth><span class=secno>15.3. </span>Block-level, non-replaced
  7.3828     elements in normal flow when ‘<a href="#overflow1"><code
  7.3829     class=property>overflow</code></a>’ computes to ‘<code
  7.3830     class=css>visible</code>’</h3>
  7.3831 @@ -3717,41 +3976,41 @@
  7.3832     class=property>overflow</code></a>’ does not compute to ‘<code
  7.3833     class=css>visible</code>’ but has been propagated to the viewport.
  7.3834  
  7.3835 -  <p>The used values of the <a href="#head">head</a> padding, <a
  7.3836 -   href="#tail">tail</a> padding, <a href="#head">head</a> margin and <a
  7.3837 -   href="#tail">tail</a> margin are calculated from their computed values,
  7.3838 -   with any ‘<code class=css>auto</code>’ values replaced by 0.
  7.3839 -
  7.3840 -  <p>If the computed value of the <a href="#block-flow">block flow
  7.3841 -   dimension</a> is not ‘<code class=css>auto</code>’, then the used
  7.3842 -   value is calculated by evaluating the computed value. Otherwise, the <a
  7.3843 -   href="#block-flow">block flow dimension</a> is the distance between two
  7.3844 -   edges that are defined as follows:
  7.3845 +  <p>The used values of the <a href="#head">head</a> padding,
  7.3846 +   <span>tail</span> padding, <a href="#head">head</a> margin and
  7.3847 +   <span>tail</span> margin are calculated from their computed values, with
  7.3848 +   any ‘<code class=css>auto</code>’ values replaced by 0.
  7.3849 +
  7.3850 +  <p>If the computed value of the <span>block flow dimension</span> is not
  7.3851 +   ‘<code class=css>auto</code>’, then the used value is calculated by
  7.3852 +   evaluating the computed value. Otherwise, the <span>block flow
  7.3853 +   dimension</span> is the distance between two edges that are defined as
  7.3854 +   follows:
  7.3855  
  7.3856    <ul>
  7.3857     <li>For the first edge: If the element is the <a
  7.3858      href="#root-element.">root element</a> or if it has a non-zero <a
  7.3859      href="#head">head</a> padding or a non-zero <a href="#head">head</a>
  7.3860 -    border, then the first edge is the <a href="#headside">headside</a> <a
  7.3861 +    border, then the first edge is the <span>headside</span> <a
  7.3862      href="#margin-edge."><em>margin edge</em></a> of the first <a
  7.3863      href="#line-box.">line box</a> or <span>block-level box</span> (whichever
  7.3864 -    comes first); otherwise the first edge is the <a
  7.3865 -    href="#headside">headside</a> <a href="#border-edge."><em>border
  7.3866 -    edge</em></a> of the first <a href="#line-box.">line box</a> or
  7.3867 -    <span>block-level box</span> (whichever comes first) that doesn't have
  7.3868 -    its margins <a href="#collapsed-through">collapsed through.</a>
  7.3869 +    comes first); otherwise the first edge is the <span>headside</span> <a
  7.3870 +    href="#border-edge."><em>border edge</em></a> of the first <a
  7.3871 +    href="#line-box.">line box</a> or <span>block-level box</span> (whichever
  7.3872 +    comes first) that doesn't have its margins <a
  7.3873 +    href="#collapsed-through">collapsed through.</a>
  7.3874  
  7.3875     <li>For the second edge: If the element is the <a
  7.3876 -    href="#root-element.">root element</a> or if it has a non-zero <a
  7.3877 -    href="#tail">tail</a> padding or a non-zero <a href="#tail">tail</a>
  7.3878 -    border, then the second edge is the <a href="#tailside">tailside</a> <a
  7.3879 +    href="#root-element.">root element</a> or if it has a non-zero
  7.3880 +    <span>tail</span> padding or a non-zero <span>tail</span> border, then
  7.3881 +    the second edge is the <span>tailside</span> <a
  7.3882      href="#margin-edge."><em>margin edge</em></a> of the last <a
  7.3883      href="#line-box.">line box</a> or <span>block-level box</span> (whichever
  7.3884 -    comes last); otherwise the second edge is the <a
  7.3885 -    href="#tailside">tailside</a> <a href="#border-edge."><em>border
  7.3886 -    edge</em></a> of the last <a href="#line-box.">line box</a> or
  7.3887 -    <span>block-level box</span> (whichever comes last) that doesn't have its
  7.3888 -    margins <a href="#collapsed-through">collapsed through.</a>
  7.3889 +    comes last); otherwise the second edge is the <span>tailside</span> <a
  7.3890 +    href="#border-edge."><em>border edge</em></a> of the last <a
  7.3891 +    href="#line-box.">line box</a> or <span>block-level box</span> (whichever
  7.3892 +    comes last) that doesn't have its margins <a
  7.3893 +    href="#collapsed-through">collapsed through.</a>
  7.3894    </ul>
  7.3895  
  7.3896    <p class=note>The above reflects the fact that the margins of the element
  7.3897 @@ -3791,8 +4050,8 @@
  7.3898     </div>
  7.3899    </div>
  7.3900  
  7.3901 -  <p>With respect to the <a href="#inline">inline dimension,</a> the
  7.3902 -   following constraint must hold among the used values of the given
  7.3903 +  <p>With respect to the <a href="#inline-dimension">inline dimension,</a>
  7.3904 +   the following constraint must hold among the used values of the given
  7.3905     properties.
  7.3906  
  7.3907    <blockquote id=width-constraints>
  7.3908 @@ -3831,7 +4090,7 @@
  7.3909        constraint.
  7.3910      </ol>
  7.3911  
  7.3912 -   <li>If the <a href="#inline">inline dimension</a> is ‘<code
  7.3913 +   <li>If the <a href="#inline-dimension">inline dimension</a> is ‘<code
  7.3914      class=css>auto</code>’, then set the used value of all other properties
  7.3915      in the constraint that are ‘<code class=css>auto</code>’ to 0 and set
  7.3916      the used value of the inline dimension so that the constraint is
  7.3917 @@ -3950,7 +4209,7 @@
  7.3918     <pre>p {margin-right: 2em; margin-left: 4em; alignment: right}</pre>
  7.3919    </div>
  7.3920  
  7.3921 -  <h3 id=other-block-level-non-replaced-elements-><span class=secno>14.4.
  7.3922 +  <h3 id=other-block-level-non-replaced-elements-><span class=secno>15.4.
  7.3923     </span>Other block-level, non-replaced elements in normal flow</h3>
  7.3924  
  7.3925    <p>This section applies to <a href="#block-level">block-level,</a>
  7.3926 @@ -3960,25 +4219,26 @@
  7.3927     class=property>overflow</code></a>’ property's value has been propagated
  7.3928     to the viewport).
  7.3929  
  7.3930 -  <p>The used values of <a href="#head">head</a> padding, <a
  7.3931 -   href="#tail">tail</a> padding, <a href="#head">head</a> margin and <a
  7.3932 -   href="#tail">tail</a> margin are calculated from the computed values, with
  7.3933 -   any ‘<code class=css>auto</code>’ values replaced by 0.
  7.3934 -
  7.3935 -  <p>If the <a href="#block-flow">block flow dimension</a> is ‘<code
  7.3936 +  <p>The used values of <a href="#head">head</a> padding, <span>tail</span>
  7.3937 +   padding, <a href="#head">head</a> margin and <span>tail</span> margin are
  7.3938 +   calculated from the computed values, with any ‘<code
  7.3939 +   class=css>auto</code>’ values replaced by 0.
  7.3940 +
  7.3941 +  <p>If the <span>block flow dimension</span> is ‘<code
  7.3942     class=css>auto</code>’, the used value is defined by <a
  7.3943     href="#root-height">“‘<code class=css>Auto</code>’ heights for flow
  7.3944     roots.”</a> Otherwise, the used value is evaluated from the computed
  7.3945     value.
  7.3946  
  7.3947    <p>Apply the rules for <a href="#start">start</a> margin, <a
  7.3948 -   href="#start">start</a> padding, <a href="#inline">inline dimension,</a>
  7.3949 -   <a href="#end">end</a> padding and <a href="#end">end</a> margin as given
  7.3950 -   above in <a href="#blockwidth"> “Block-level, non-replaced elements in
  7.3951 -   normal flow when ‘<code class=property>overflow</code>’ computes to
  7.3952 -   ‘<code class=css>visible</code>’.”</a>
  7.3953 -
  7.3954 -  <h3 id=inline-block-or-floating-non-replaced-el><span class=secno>14.5.
  7.3955 +   href="#start">start</a> padding, <a href="#inline-dimension">inline
  7.3956 +   dimension,</a> <a href="#end">end</a> padding and <a href="#end">end</a>
  7.3957 +   margin as given above in <a href="#blockwidth"> “Block-level,
  7.3958 +   non-replaced elements in normal flow when ‘<code
  7.3959 +   class=property>overflow</code>’ computes to ‘<code
  7.3960 +   class=css>visible</code>’.”</a>
  7.3961 +
  7.3962 +  <h3 id=inline-block-or-floating-non-replaced-el><span class=secno>15.5.
  7.3963     </span>‘<code class=property>Inline-block</code>’ or floating,
  7.3964     non-replaced elements</h3>
  7.3965  
  7.3966 @@ -4006,12 +4266,11 @@
  7.3967     this element), then the used value is also defined by <a
  7.3968     href="#root-height">“‘<code class=css>Auto</code>’ heights for flow
  7.3969     roots.”</a> Otherwise it is calculated by evaluating the computed value.
  7.3970 -   
  7.3971  
  7.3972    <p>For inline-block boxes, the margin box is used when calculating the
  7.3973     height of the line box. <span class=issue>Does this belong here?</span>
  7.3974  
  7.3975 -  <h3 id=abs-non-replaced-width><span class=secno>14.6. </span>Absolutely
  7.3976 +  <h3 id=abs-non-replaced-width><span class=secno>15.6. </span>Absolutely
  7.3977     positioned, non-replaced elements</h3>
  7.3978  
  7.3979    <p>For the purposes of this section and the next, the term <dfn
  7.3980 @@ -4270,12 +4529,11 @@
  7.3981      class=property>bottom</code>’.
  7.3982    </ol>
  7.3983  
  7.3984 -  <h3 id=abs-replaced><span class=secno>14.7. </span>Absolutely positioned,
  7.3985 +  <h3 id=abs-replaced><span class=secno>15.7. </span>Absolutely positioned,
  7.3986     replaced elements</h3>
  7.3987  
  7.3988    <p>This situation is similar to the previous one, except that the element
  7.3989     may have an intrinsic size or ratio. The sequence of substitutions is now:
  7.3990 -   
  7.3991  
  7.3992    <ol>
  7.3993     <li>The used value of ‘<a href="#width"><code
  7.3994 @@ -4380,7 +4638,7 @@
  7.3995    <p>If the second equation is over-constrained, ignore the value for
  7.3996     ‘<code class=property>bottom</code>’ and solve for that value.
  7.3997  
  7.3998 -  <h3 id=block-level-replaced-elements-in-normal-><span class=secno>14.8.
  7.3999 +  <h3 id=block-level-replaced-elements-in-normal-><span class=secno>15.8.
  7.4000     </span>Block-level, replaced elements in normal flow</h3>
  7.4001  
  7.4002    <p>Apply the rules for <a href="#inline-replaced">inline replaced
  7.4003 @@ -4394,7 +4652,7 @@
  7.4004     class=property>border</code>’ and ‘<a href="#padding"><code
  7.4005     class=property>padding</code></a>’ as if they were the computed values.
  7.4006  
  7.4007 -  <h3 id=floating-non-replaced-elements><span class=secno>14.9.
  7.4008 +  <h3 id=floating-non-replaced-elements><span class=secno>15.9.
  7.4009     </span>Floating, non-replaced elements</h3>
  7.4010  
  7.4011    <p>The used values of the margins are derived from the computed values,
  7.4012 @@ -4417,7 +4675,7 @@
  7.4013     computed value were ‘<code class=css>auto</code>’. Otherwise the
  7.4014     computed value is evaluated to give the used value.
  7.4015  
  7.4016 -  <h3 id=root-height><span class=secno>14.10. </span>Auto heights for flow
  7.4017 +  <h3 id=root-height><span class=secno>15.10. </span>Auto heights for flow
  7.4018     roots</h3>
  7.4019  
  7.4020    <p>In certain cases (see the preceding sections), the height of an element
  7.4021 @@ -4425,7 +4683,6 @@
  7.4022  
  7.4023    <p>If it only has inline-level children, the height is the distance between
  7.4024     the top of the topmost line box and the bottom of the bottommost line box.
  7.4025 -   
  7.4026  
  7.4027    <p>If it has <a href="#block-level">block-level</a> children, the height is
  7.4028     the distance between the top margin-edge of the topmost block-level child
  7.4029 @@ -4441,50 +4698,60 @@
  7.4030     descendants in the normal flow are taken into account, e.g., floats inside
  7.4031     absolutely positioned descendants or other floats are not.
  7.4032  
  7.4033 -  <h2 id=the-float-property><span class=secno>15. </span>The float property</h2>
  7.4034 +  <h2 id=the-float-property><span class=secno>16. </span>The float property</h2>
  7.4035  
  7.4036    <table class=propdef>
  7.4037     <tbody>
  7.4038      <tr>
  7.4039 -     <td>Name:
  7.4040 +     <th>Name:
  7.4041  
  7.4042       <td><dfn id=float>float</dfn>
  7.4043  
  7.4044      <tr>
  7.4045 -     <td>Value:
  7.4046 +     <th>Value:
  7.4047  
  7.4048       <td>[ left | right | top | bottom | start | end | none |
  7.4049        <var>&lt;page-floats&gt;</var> ] && contour?
  7.4050  
  7.4051      <tr>
  7.4052 -     <td>Initial:
  7.4053 +     <th>Initial:
  7.4054  
  7.4055       <td>none
  7.4056  
  7.4057      <tr>
  7.4058 -     <td>Applies to:
  7.4059 +     <th>Applies to:
  7.4060  
  7.4061       <td>all, but see text
  7.4062  
  7.4063      <tr>
  7.4064 -     <td>Inherited:
  7.4065 +     <th>Inherited:
  7.4066  
  7.4067       <td>no
  7.4068  
  7.4069      <tr>
  7.4070 -     <td>Percentages:
  7.4071 +     <th>Animatable:
  7.4072 +
  7.4073 +     <td>no
  7.4074 +
  7.4075 +    <tr>
  7.4076 +     <th>Percentages:
  7.4077  
  7.4078       <td>N/A
  7.4079  
  7.4080      <tr>
  7.4081 -     <td>Media:
  7.4082 +     <th>Media:
  7.4083  
  7.4084       <td>visual
  7.4085  
  7.4086      <tr>
  7.4087 -     <td>Computed value:
  7.4088 +     <th>Computed value:
  7.4089  
  7.4090       <td>as specified
  7.4091 +
  7.4092 +    <tr>
  7.4093 +     <th>Canonical order:
  7.4094 +
  7.4095 +     <td>order of grammar
  7.4096    </table>
  7.4097  
  7.4098    <p class=issue>Adding ‘<a href="#start"><code
  7.4099 @@ -4714,7 +4981,7 @@
  7.4100     API may not provide access to the contour of the object. Should there be a
  7.4101     sentence about UAs not having to compute a contour in such a case?
  7.4102  
  7.4103 -  <h3 id=introduction-to-floats><span class=secno>15.1. </span>Introduction
  7.4104 +  <h3 id=introduction-to-floats><span class=secno>16.1. </span>Introduction
  7.4105     to floats</h3>
  7.4106  
  7.4107    <p>(This section is not normative.)
  7.4108 @@ -4749,7 +5016,6 @@
  7.4109     aligned with the top of the line box, and then the inline boxes already on
  7.4110     the line are moved accordingly to the right of the float (the right being
  7.4111     the other side of the left float) and vice versa for rtl and right floats.
  7.4112 -   
  7.4113  
  7.4114    <div class=example>
  7.4115     <p>In the following document fragment, the containing block is too narrow
  7.4116 @@ -4788,7 +5054,6 @@
  7.4117    <div class=example>
  7.4118     <p>The following rule floats all IMG boxes with <code>class="icon"</code>
  7.4119      to the left (and sets the left margin to ‘<code class=css>0</code>’):
  7.4120 -    
  7.4121  
  7.4122     <pre>
  7.4123  img.icon { 
  7.4124 @@ -4903,22 +5168,21 @@
  7.4125     </div>
  7.4126    </div>
  7.4127  
  7.4128 -  <h3 id=rules-for-positioning-floats><span class=secno>15.2. </span>Rules
  7.4129 +  <h3 id=rules-for-positioning-floats><span class=secno>16.2. </span>Rules
  7.4130     for positioning floats</h3>
  7.4131  
  7.4132    <p>Here are the precise rules that govern the positions of floats with a <a
  7.4133     href="#horizontal"><em>horizontal</em></a> containing block. References to
  7.4134     other elements in these rules refer only to other elements in the same <a
  7.4135 -   href="#flow"><em>flow</em></a> as the float's parent.
  7.4136 +   href="#flow0"><em>flow</em></a> as the float's parent.
  7.4137  
  7.4138    <ol>
  7.4139     <li>The left <a href="#margin-edge.">margin edge</a> of a left-floating
  7.4140      box may not be to the left of the left edge of its <a
  7.4141 -    href="#containing-block">containing block</a>. An analogous rule holds
  7.4142 +    href="#containing-block0">containing block</a>. An analogous rule holds
  7.4143      for right-floating elements.
  7.4144      <!-- The A margin edge of box that floats to the A may not be to A of
  7.4145  the A edge of its containing block -->
  7.4146 -    
  7.4147  
  7.4148     <li>If the current box is left-floating, and there are any left-floating
  7.4149      boxes generated by elements earlier in the source document, then for each
  7.4150 @@ -4934,7 +5198,7 @@
  7.4151      rules hold for right-floating elements.
  7.4152  
  7.4153     <li>A floating box's top <a href="#margin-edge.">margin edge</a> may not
  7.4154 -    be higher than the top of its <a href="#containing-block">containing
  7.4155 +    be higher than the top of its <a href="#containing-block0">containing
  7.4156      block</a>. When the float occurs between two collapsing margins, the
  7.4157      float is positioned as if it had an otherwise empty <a
  7.4158      href="#anonymous-box" title="anonymous box">anonymous block parent</a>
  7.4159 @@ -4988,7 +5252,7 @@
  7.4160    <ol>
  7.4161     <li>The top <a href="#margin-edge.">margin edge</a> of a top-floating box
  7.4162      may not be above the top edge of its <a
  7.4163 -    href="#containing-block">containing block</a>. An analogous rule holds
  7.4164 +    href="#containing-block0">containing block</a>. An analogous rule holds
  7.4165      for bottom-floating elements.
  7.4166  
  7.4167     <li>If the current box is top-floating, and there are any top-floating
  7.4168 @@ -5006,7 +5270,7 @@
  7.4169  
  7.4170     <li>A floating box's right <a href="#margin-edge.">margin edge</a> may not
  7.4171      be to the right of the right edge of its <a
  7.4172 -    href="#containing-block">containing block</a>. When the float occurs
  7.4173 +    href="#containing-block0">containing block</a>. When the float occurs
  7.4174      between two collapsing margins, the float is positioned as if it had an
  7.4175      otherwise empty <a href="#anonymous-box" title="anonymous box">anonymous
  7.4176      block parent</a> taking part in the flow. The position of such a parent
  7.4177 @@ -5046,7 +5310,6 @@
  7.4178    <p class=note>Note that a box with a value of ‘<a href="#float"><code
  7.4179     class=property>float</code></a>’ other than ‘<code
  7.4180     class=css>none</code>’ is a <a href="#flow-root"><em>flow root.</em></a>
  7.4181 -   
  7.4182  
  7.4183    <p>The border box of a table, a <a href="#block-level">block-level</a>
  7.4184     replaced element, or an element in the normal flow that is a <a
  7.4185 @@ -5060,56 +5323,66 @@
  7.4186     (“Sufficient space” means that the opposite margin does not become
  7.4187     negative.)</span>
  7.4188  
  7.4189 -  <h2 id=the-clear-property><span class=secno>16. </span>The clear property</h2>
  7.4190 +  <h2 id=the-clear-property><span class=secno>17. </span>The clear property</h2>
  7.4191  
  7.4192    <table class=propdef>
  7.4193     <tbody>
  7.4194      <tr>
  7.4195 -     <td>Name:
  7.4196 +     <th>Name:
  7.4197  
  7.4198       <td><dfn id=clear>clear</dfn>
  7.4199  
  7.4200      <tr>
  7.4201 -     <td>Value:
  7.4202 +     <th>Value:
  7.4203  
  7.4204       <td>none | left | right | both
  7.4205  
  7.4206      <tr>
  7.4207 -     <td>Initial:
  7.4208 +     <th>Initial:
  7.4209  
  7.4210       <td>none
  7.4211  
  7.4212      <tr>
  7.4213 -     <td>Applies to:
  7.4214 +     <th>Applies to:
  7.4215  
  7.4216       <td><a href="#block-level">block-level</a> elements
  7.4217  
  7.4218      <tr>
  7.4219 -     <td>Inherited:
  7.4220 +     <th>Inherited:
  7.4221  
  7.4222       <td>no
  7.4223  
  7.4224      <tr>
  7.4225 -     <td>Percentages:
  7.4226 +     <th>Animatable:
  7.4227 +
  7.4228 +     <td>no
  7.4229 +
  7.4230 +    <tr>
  7.4231 +     <th>Percentages:
  7.4232  
  7.4233       <td>N/A
  7.4234  
  7.4235      <tr>
  7.4236 -     <td>Media:
  7.4237 +     <th>Media:
  7.4238  
  7.4239       <td>visual
  7.4240  
  7.4241      <tr>
  7.4242 -     <td>Computed value:
  7.4243 +     <th>Computed value:
  7.4244  
  7.4245       <td>as specified
  7.4246 +
  7.4247 +    <tr>
  7.4248 +     <th>Canonical order:
  7.4249 +
  7.4250 +     <td>N/A
  7.4251    </table>
  7.4252  
  7.4253    <p class=issue>[To do: copy from CSS2 <a href="#CSS21"
  7.4254     rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> and generalize to vertical
  7.4255     text, define <dfn id=clearance.>clearance.</dfn>]
  7.4256  
  7.4257 -  <h2 id=the-clear-after-property><span class=secno>17. </span>The
  7.4258 +  <h2 id=the-clear-after-property><span class=secno>18. </span>The
  7.4259     clear-after property</h2>
  7.4260  
  7.4261    <div class=issue id=contain-floats>
  7.4262 @@ -5141,7 +5414,7 @@
  7.4263       href="#height"><code class=property>height</code></a>’ is due to IanH
  7.4264       2004-02-29]
  7.4265  
  7.4266 -    <li>A new value ‘<code class=css>align-box</code>’ on ‘<a
  7.4267 +    <li>A new value ‘<code class=css>container</code>’ on ‘<a
  7.4268       href="#display0"><code class=property>display</code></a>’.
  7.4269     </ol>
  7.4270    </div>
  7.4271 @@ -5174,6 +5447,11 @@
  7.4272  
  7.4273       <td>no
  7.4274  
  7.4275 +    <tr>
  7.4276 +     <td>Animatable:
  7.4277 +
  7.4278 +     <td>no
  7.4279 +
  7.4280      <tr valign=baseline>
  7.4281       <td>Percentages:
  7.4282  
  7.4283 @@ -5188,18 +5466,23 @@
  7.4284       <td>Computed value:
  7.4285  
  7.4286       <td>specified value
  7.4287 +
  7.4288 +    <tr>
  7.4289 +     <th>Canonical order:
  7.4290 +
  7.4291 +     <td>N/A
  7.4292    </table>
  7.4293  
  7.4294    <p>It is sometimes useful to make sure that the bottom border of a
  7.4295     block-level element goes below floating elements. The ‘<a
  7.4296     href="#clear-after"><code class=property>clear-after</code></a>’
  7.4297     property increases the element's padding as needed. More precisely: If
  7.4298 -   there are any floats in the current <a href="#flow"><em>flow</em></a> up
  7.4299 +   there are any floats in the current <a href="#flow0"><em>flow</em></a> up
  7.4300     to and including the end of this element that float to the indicated
  7.4301 -   side(s), then find the one whose <a href="#tailside"><em>tailside</em></a>
  7.4302 -   <a href="#margin-edge."><em>margin edge</em></a> is furthest away from the
  7.4303 -   <a href="#head"><em>head</em></a> <a href="#content-edge."><em>content
  7.4304 -   edge</em></a> of the <a href="#containing-block"><em>containing
  7.4305 +   side(s), then find the one whose <em>tailside</em> <a
  7.4306 +   href="#margin-edge."><em>margin edge</em></a> is furthest away from the <a
  7.4307 +   href="#head"><em>head</em></a> <a href="#content-edge."><em>content
  7.4308 +   edge</em></a> of the <a href="#containing-block0"><em>containing
  7.4309     block.</em></a> Then increase the tailside padding of the current element
  7.4310     by the minimum amount needed so that the padding edge is at least as far
  7.4311     away from the head content edge of the containing block as the tailside
  7.4312 @@ -5316,6 +5599,11 @@
  7.4313  
  7.4314        <td>no
  7.4315  
  7.4316 +     <tr>
  7.4317 +      <td>Animatable:
  7.4318 +
  7.4319 +      <td>no
  7.4320 +
  7.4321       <tr valign=baseline>
  7.4322        <td>Percentages:
  7.4323  
  7.4324 @@ -5330,6 +5618,11 @@
  7.4325        <td>Computed value:
  7.4326  
  7.4327        <td>specified value
  7.4328 +
  7.4329 +     <tr>
  7.4330 +      <th>Canonical order:
  7.4331 +
  7.4332 +      <td>order of keywords as in grammar
  7.4333     </table>
  7.4334  
  7.4335     <p>The following rule would ensure that a SECTION starts below all
  7.4336 @@ -5346,7 +5639,7 @@
  7.4337     looks better to indent that line like the other lines of the paragraph.
  7.4338     The default is ‘<code class=css>1</code>’, i.e., no protection.
  7.4339  
  7.4340 -  <h2 id=overflow0><span class=secno>18. </span>Overflow</h2>
  7.4341 +  <h2 id=overflow0><span class=secno>19. </span>Overflow</h2>
  7.4342    <!-- As per 2009-08-12 telcon, define more precisely what causes
  7.4343  overflow and what doesn't. E.g., exclude shadows and anti-aliasing
  7.4344  from causing overflow, but relatively and absolutely positioned
  7.4345 @@ -5358,7 +5651,7 @@
  7.4346     scroll it (“marquee,” see <a href="#CSS3-MARQUEE"
  7.4347     rel=biblioentry>[CSS3-MARQUEE]<!--{{CSS3-MARQUEE}}--></a>).
  7.4348  
  7.4349 -  <h3 id=overflow><span class=secno>18.1. </span>The overflow, overflow-x and
  7.4350 +  <h3 id=overflow><span class=secno>19.1. </span>The overflow, overflow-x and
  7.4351     overflow-y properties</h3>
  7.4352  
  7.4353    <p class=issue>In the preceding sections, several things (such as flow
  7.4354 @@ -5369,94 +5662,114 @@
  7.4355    <table class=propdef>
  7.4356     <tbody>
  7.4357      <tr>
  7.4358 -     <td>Name:
  7.4359 +     <th>Name:
  7.4360  
  7.4361       <td><dfn id=overflow-x>overflow-x</dfn>, <dfn
  7.4362        id=overflow-y>overflow-y</dfn>,
  7.4363  
  7.4364      <tr>
  7.4365 -     <td>Value:
  7.4366 +     <th>Value:
  7.4367  
  7.4368       <td>visible | hidden | scroll | auto | no-display | no-content
  7.4369  
  7.4370      <tr>
  7.4371 -     <td>Initial:
  7.4372 +     <th>Initial:
  7.4373  
  7.4374       <td>visible
  7.4375  
  7.4376      <tr>
  7.4377 -     <td>Applies to:
  7.4378 +     <th>Applies to:
  7.4379  
  7.4380       <td>non-replaced <a href="#block-level"><em>block-level</em></a>
  7.4381        elements and non-replaced ‘<code class=css>inline-block</code>’
  7.4382        elements
  7.4383  
  7.4384      <tr>
  7.4385 -     <td>Inherited:
  7.4386 +     <th>Inherited:
  7.4387  
  7.4388       <td>no
  7.4389  
  7.4390      <tr>
  7.4391 -     <td>Percentages:
  7.4392 +     <th>Animatable:
  7.4393 +
  7.4394 +     <td>no
  7.4395 +
  7.4396 +    <tr>
  7.4397 +     <th>Percentages:
  7.4398  
  7.4399       <td>N/A
  7.4400  
  7.4401      <tr>
  7.4402 -     <td>Media:
  7.4403 +     <th>Media:
  7.4404  
  7.4405       <td>visual
  7.4406  
  7.4407      <tr>
  7.4408 -     <td>Computed value:
  7.4409 +     <th>Computed value:
  7.4410  
  7.4411       <td>as specified, except ‘<code class=property>visible</code>’, see
  7.4412        text
  7.4413 +
  7.4414 +    <tr>
  7.4415 +     <th>Canonical order:
  7.4416 +
  7.4417 +     <td>N/A
  7.4418    </table>
  7.4419  
  7.4420    <table class=propdef>
  7.4421     <tbody>
  7.4422      <tr>
  7.4423 -     <td>Name:
  7.4424 +     <th>Name:
  7.4425  
  7.4426       <td><dfn id=overflow1>overflow</dfn>
  7.4427  
  7.4428      <tr>
  7.4429 -     <td>Value:
  7.4430 +     <th>Value:
  7.4431  
  7.4432       <td>[ visible | hidden | scroll | auto | no-display | no-content ]{1,2}
  7.4433  
  7.4434      <tr>
  7.4435 -     <td>Initial:
  7.4436 +     <th>Initial:
  7.4437  
  7.4438       <td>see individual properties
  7.4439  
  7.4440      <tr>
  7.4441 -     <td>Applies to:
  7.4442 +     <th>Applies to:
  7.4443  
  7.4444       <td>non-replaced <a href="#block-level"><em>block-level</em></a>
  7.4445        elements and non-replaced ‘<code class=css>inline-block</code>’
  7.4446        elements
  7.4447  
  7.4448      <tr>
  7.4449 -     <td>Inherited:
  7.4450 +     <th>Inherited:
  7.4451  
  7.4452       <td>no
  7.4453  
  7.4454      <tr>
  7.4455 -     <td>Percentages:
  7.4456 +     <th>Animatable:
  7.4457 +
  7.4458 +     <td>no
  7.4459 +
  7.4460 +    <tr>
  7.4461 +     <th>Percentages:
  7.4462  
  7.4463       <td>N/A
  7.4464  
  7.4465      <tr>
  7.4466 -     <td>Media:
  7.4467 +     <th>Media:
  7.4468  
  7.4469       <td>visual
  7.4470  
  7.4471      <tr>
  7.4472 -     <td>Computed value:
  7.4473 +     <th>Computed value:
  7.4474  
  7.4475       <td>as specified, except ‘<code class=property>visible</code>’, see
  7.4476        text
  7.4477 +
  7.4478 +    <tr>
  7.4479 +     <th>Canonical order:
  7.4480 +
  7.4481 +     <td>N/A
  7.4482    </table>
  7.4483  
  7.4484    <p>These properties specify whether content is clipped when it overflows
  7.4485 @@ -5723,50 +6036,60 @@
  7.4486     rel=biblioentry>[CSS3TEXT]<!--{{!CSS3TEXT}}--></a>) can be used to give a
  7.4487     visual indication where text has been clipped.
  7.4488  
  7.4489 -  <h2 id=the-visibility-property><span class=secno>19. </span>The visibility
  7.4490 +  <h2 id=the-visibility-property><span class=secno>20. </span>The visibility
  7.4491     property</h2>
  7.4492  
  7.4493    <table class=propdef>
  7.4494     <tbody>
  7.4495      <tr>
  7.4496 -     <td>Name:
  7.4497 +     <th>Name:
  7.4498  
  7.4499       <td><dfn id=visibility>visibility</dfn>
  7.4500  
  7.4501      <tr>
  7.4502 -     <td>Value:
  7.4503 +     <th>Value:
  7.4504  
  7.4505       <td>visible | hidden | collapse
  7.4506  
  7.4507      <tr>
  7.4508 -     <td>Initial:
  7.4509 +     <th>Initial:
  7.4510  
  7.4511       <td> visible
  7.4512  
  7.4513      <tr>
  7.4514 -     <td>Applies to:
  7.4515 +     <th>Applies to:
  7.4516  
  7.4517       <td>all elements
  7.4518  
  7.4519      <tr>
  7.4520 -     <td>Inherited:
  7.4521 +     <th>Inherited:
  7.4522  
  7.4523       <td>yes
  7.4524  
  7.4525      <tr>
  7.4526 -     <td>Percentages:
  7.4527 +     <th>Animatable:
  7.4528 +
  7.4529 +     <td>no
  7.4530 +
  7.4531 +    <tr>
  7.4532 +     <th>Percentages:
  7.4533  
  7.4534       <td>N/A
  7.4535  
  7.4536      <tr>
  7.4537 -     <td>Media:
  7.4538 +     <th>Media:
  7.4539  
  7.4540       <td>visual
  7.4541  
  7.4542      <tr>
  7.4543 -     <td>Computed value:
  7.4544 +     <th>Computed value:
  7.4545  
  7.4546       <td>as specified
  7.4547 +
  7.4548 +    <tr>
  7.4549 +     <th>Canonical order:
  7.4550 +
  7.4551 +     <td>N/A
  7.4552    </table>
  7.4553  
  7.4554    <p>This property specifies whether the boxes generated by an element are
  7.4555 @@ -5795,50 +6118,60 @@
  7.4556      meaning as ‘<code class=css>hidden</code>’.
  7.4557    </dl>
  7.4558  
  7.4559 -  <h2 id=the-alignment-property><span class=secno>20. </span>The alignment
  7.4560 +  <h2 id=the-alignment-property><span class=secno>21. </span>The alignment
  7.4561     property</h2>
  7.4562  
  7.4563    <table class=propdef>
  7.4564     <tbody>
  7.4565      <tr>
  7.4566 -     <td>Name:
  7.4567 +     <th>Name:
  7.4568  
  7.4569       <td><dfn id=alignment>alignment</dfn>
  7.4570  
  7.4571      <tr>
  7.4572 -     <td>Value:
  7.4573 +     <th>Value:
  7.4574  
  7.4575       <td>top | right | bottom | left | center
  7.4576  
  7.4577      <tr>
  7.4578 -     <td>Initial:
  7.4579 +     <th>Initial:
  7.4580  
  7.4581       <td>see text
  7.4582  
  7.4583      <tr>
  7.4584 -     <td>Applies to:
  7.4585 +     <th>Applies to:
  7.4586  
  7.4587       <td><a href="#block-level">block-level</a> elements
  7.4588  
  7.4589      <tr>
  7.4590 -     <td>Inherited:
  7.4591 +     <th>Inherited:
  7.4592  
  7.4593       <td>no
  7.4594  
  7.4595      <tr>
  7.4596 -     <td>Percentages:
  7.4597 +     <th>Animatable:
  7.4598 +
  7.4599 +     <td>no
  7.4600 +
  7.4601 +    <tr>
  7.4602 +     <th>Percentages:
  7.4603  
  7.4604       <td>N/A
  7.4605  
  7.4606      <tr>
  7.4607 -     <td>Media:
  7.4608 +     <th>Media:
  7.4609  
  7.4610       <td>visual
  7.4611  
  7.4612      <tr>
  7.4613 -     <td>Computed value:
  7.4614 +     <th>Computed value:
  7.4615  
  7.4616       <td>specified value
  7.4617 +
  7.4618 +    <tr>
  7.4619 +     <th>Canonical order:
  7.4620 +
  7.4621 +     <td>N/A
  7.4622    </table>
  7.4623  
  7.4624    <p class=issue>Another way to allow real centering of boxes would be to
  7.4625 @@ -5938,7 +6271,7 @@
  7.4626     <p class=caption>A possible rendering of the example.
  7.4627    </div>
  7.4628  
  7.4629 -  <h2 id=the-child-align-property><span class=secno>21. </span>The
  7.4630 +  <h2 id=the-child-align-property><span class=secno>22. </span>The
  7.4631     child-align property</h2>
  7.4632  
  7.4633    <p class=issue>Other names: block-align (but note that it influences the
  7.4634 @@ -5959,44 +6292,54 @@
  7.4635    <table class=propdef>
  7.4636     <tbody>
  7.4637      <tr>
  7.4638 -     <td>Name:
  7.4639 +     <th>Name:
  7.4640  
  7.4641       <td><dfn id=child-align>child-align</dfn>
  7.4642  
  7.4643      <tr>
  7.4644 -     <td>Value:
  7.4645 +     <th>Value:
  7.4646  
  7.4647       <td>top | middle | bottom | left | right | auto
  7.4648  
  7.4649      <tr>
  7.4650 -     <td>Initial:
  7.4651 +     <th>Initial:
  7.4652  
  7.4653       <td>auto
  7.4654  
  7.4655      <tr>
  7.4656 -     <td>Applies to:
  7.4657 +     <th>Applies to:
  7.4658  
  7.4659       <td>block-level elements, table cells and inline blocks
  7.4660  
  7.4661      <tr>
  7.4662 -     <td>Inherited:
  7.4663 +     <th>Inherited:
  7.4664  
  7.4665       <td>yes
  7.4666  
  7.4667      <tr>
  7.4668 -     <td>Percentages:
  7.4669 +     <th>Animatable:
  7.4670 +
  7.4671 +     <td>no
  7.4672 +
  7.4673 +    <tr>
  7.4674 +     <th>Percentages:
  7.4675  
  7.4676       <td>N/A
  7.4677  
  7.4678      <tr>
  7.4679 -     <td>Media:
  7.4680 +     <th>Media:
  7.4681  
  7.4682       <td>visual
  7.4683  
  7.4684      <tr>
  7.4685 -     <td>Computed value:
  7.4686 +     <th>Computed value:
  7.4687  
  7.4688       <td>the initial value or as specified
  7.4689 +
  7.4690 +    <tr>
  7.4691 +     <th>Canonical order:
  7.4692 +
  7.4693 +     <td>N/A
  7.4694    </table>
  7.4695  
  7.4696    <p>This property describes how block-level content of a block is aligned
  7.4697 @@ -6135,12 +6478,12 @@
  7.4698     are calculated first, then the content is vertically aligned according to
  7.4699     the property within each portion of the parent block.
  7.4700  
  7.4701 -  <h2 id=stacking-contexts><span class=secno>22. </span>Stacking contexts</h2>
  7.4702 +  <h2 id=stacking-contexts><span class=secno>23. </span>Stacking contexts</h2>
  7.4703  
  7.4704    <p>This section defines the painting order in more detail than described in
  7.4705     the rest of the specification.
  7.4706  
  7.4707 -  <h3 id=definitions><span class=secno>22.1. </span>Definitions</h3>
  7.4708 +  <h3 id=definitions><span class=secno>23.1. </span>Definitions</h3>
  7.4709  
  7.4710    <dl>
  7.4711     <dt>Tree Order
  7.4712 @@ -6161,7 +6504,7 @@
  7.4713      content of the box, and so forth.
  7.4714    </dl>
  7.4715  
  7.4716 -  <h3 id=painting-order><span class=secno>22.2. </span>Painting order</h3>
  7.4717 +  <h3 id=painting-order><span class=secno>23.2. </span>Painting order</h3>
  7.4718  
  7.4719    <p>The bottom of the stack is the furthest from the user, the top of the
  7.4720     stack is the nearest to the user:
  7.4721 @@ -6171,7 +6514,6 @@
  7.4722      src=stack.png>
  7.4723  
  7.4724     <p class=caption>Schematic diagram of a stacking context with four layers.
  7.4725 -    
  7.4726    </div>
  7.4727    <!--
  7.4728  <pre>
  7.4729 @@ -6337,7 +6679,6 @@
  7.4730                  order of the elements applying the underlining (such that the
  7.4731                  deepest element's underlining, if any, is painted topmost and
  7.4732                  the root element's underlining, if any, is drawn bottommost).
  7.4733 -                
  7.4734  
  7.4735                 <li>any overlining affecting the text of the element, in tree
  7.4736                  order of the elements applying the overlining (such that the
  7.4737 @@ -6411,7 +6752,7 @@
  7.4738       recommended to draw outlines in this step and not in the steps above.)
  7.4739    </ol>
  7.4740  
  7.4741 -  <h3 id=notes><span class=secno>22.3. </span>Notes</h3>
  7.4742 +  <h3 id=notes><span class=secno>23.3. </span>Notes</h3>
  7.4743  
  7.4744    <p>The background of the root element is only painted once, over the whole
  7.4745     canvas.
  7.4746 @@ -6423,7 +6764,7 @@
  7.4747     class=issue>[Replace 2.1 by 3. Check if inline backgrounds are still
  7.4748     undefined, otherwise say result is UA-dependent.]</span>
  7.4749  
  7.4750 -  <h3 id=the-ltnumbergt-value><span class=secno>22.4. </span>The
  7.4751 +  <h3 id=the-ltnumbergt-value><span class=secno>23.4. </span>The
  7.4752     &lt;number&gt; value</h3>
  7.4753  
  7.4754    <p>A <a href="#ltnumbergt"><var>&lt;number&gt;</var></a> value sets the
  7.4755 @@ -6455,7 +6796,7 @@
  7.4756    <p class=note>Note that <a href="#ltnumbergt"><var>&lt;number&gt;</var></a>
  7.4757     does not exist in CSS level 2.
  7.4758  
  7.4759 -  <h3 id=auto><span class=secno>22.5. </span>The <dfn id=auto0
  7.4760 +  <h3 id=auto><span class=secno>23.5. </span>The <dfn id=auto0
  7.4761     title="auto!!value of 'width' or 'height'">auto</dfn> value</h3>
  7.4762  
  7.4763    <p>We describe the meaning of ‘<code class=css>auto</code>’ on elements
  7.4764 @@ -6571,13 +6912,13 @@
  7.4765      the ‘<code class=property>size</code>’ property.
  7.4766  
  7.4767     <li>Otherwise, if the element is a <em>block-level element</em> and its <a
  7.4768 -    href="#containing-block"><em>containing block</em></a> also has a
  7.4769 +    href="#containing-block0"><em>containing block</em></a> also has a
  7.4770      <em>horizontal flow</em>, <a href="#eq1">equation (1)</a> below
  7.4771      determines the width.
  7.4772  
  7.4773     <li>Otherwise, if the element is block-level and the containing block has
  7.4774 -    a different <a href="#orientation"><em>orientation</em></a>, the computed
  7.4775 -    value is the <em>intrinsic width</em>.
  7.4776 +    a different <em>orientation</em>, the computed value is the <em>intrinsic
  7.4777 +    width</em>.
  7.4778  
  7.4779     <li>Otherwise (i.e., the element is positioned, is a table element or a
  7.4780      ruby), see the positioning <a href="#CSS3POS"
  7.4781 @@ -6599,7 +6940,7 @@
  7.4782     impose further constraints on the computed value. See <a
  7.4783     href="#min-width">below</a>.
  7.4784  
  7.4785 -  <h3 id=complex-size><span class=secno>22.6. </span>Algorithm for
  7.4786 +  <h3 id=complex-size><span class=secno>23.6. </span>Algorithm for
  7.4787     shrink-wrapping replaced elements with complex width/height</h3>
  7.4788  
  7.4789    <p><span class=issue>Should this algorithm be defined by CDF/WICD instead?
  7.4790 @@ -6644,10 +6985,11 @@
  7.4791     ‘<code class=css>none</code>’.
  7.4792  
  7.4793    <p>The auxiliary width is the width of the <a
  7.4794 -   href="#containing-block">containing block</a> minus this element's margin,
  7.4795 -   padding and border, unless the containing block's width depends on this
  7.4796 -   element's width, in which case the width of the viewport is given. The
  7.4797 -   suggested height is analogous, but using the containing block's height.
  7.4798 +   href="#containing-block0">containing block</a> minus this element's
  7.4799 +   margin, padding and border, unless the containing block's width depends on
  7.4800 +   this element's width, in which case the width of the viewport is given.
  7.4801 +   The suggested height is analogous, but using the containing block's
  7.4802 +   height.
  7.4803  
  7.4804    <p>The returned values are
  7.4805  
  7.4806 @@ -6724,7 +7066,7 @@
  7.4807     UAs will render a 300 by 150px block with scrollbars instead of a block
  7.4808     that is as big as neeeded to contain the transclusion.
  7.4809  
  7.4810 -  <h2 id=the-float-displace-property><span class=secno>23. </span>The ‘<a
  7.4811 +  <h2 id=the-float-displace-property><span class=secno>24. </span>The ‘<a
  7.4812     href="#float-displace"><code class=property>float-displace</code></a>’
  7.4813     property</h2>
  7.4814  
  7.4815 @@ -6756,6 +7098,11 @@
  7.4816       <td>yes
  7.4817  
  7.4818      <tr>
  7.4819 +     <td>Animatable:
  7.4820 +
  7.4821 +     <td>no
  7.4822 +
  7.4823 +    <tr>
  7.4824       <td><em>Percentages:</em>
  7.4825  
  7.4826       <td>N/A
  7.4827 @@ -6771,9 +7118,9 @@
  7.4828       <td>Same as specified value
  7.4829  
  7.4830      <tr>
  7.4831 -     <td><em>Computed value:</em>
  7.4832 -
  7.4833 -     <td>specified value
  7.4834 +     <th>Canonical order:
  7.4835 +
  7.4836 +     <td>N/A
  7.4837    </table>
  7.4838  
  7.4839    <div class=issue>
  7.4840 @@ -6857,7 +7204,7 @@
  7.4841      class=css>line</code>’:
  7.4842  
  7.4843     <p>For all elements <var>E</var>, and all floats <var>F</var> whose parent
  7.4844 -    is in the same <a href="#flow">flow</a> as <var>E</var>, and all <a
  7.4845 +    is in the same <a href="#flow0">flow</a> as <var>E</var>, and all <a
  7.4846      href="#line-box." title="line box">line boxes</a> <var>L</var> of
  7.4847      <var>E</var>: if <var>L</var> contains any inline boxes that are
  7.4848      generated by elements that come after <var>F</var> in the document, then
  7.4849 @@ -7108,7 +7455,7 @@
  7.4850      will be made narrower as a whole.
  7.4851    </div>
  7.4852  
  7.4853 -  <h2 id=the-indent-edge-reset-property><span class=secno>24. </span>The
  7.4854 +  <h2 id=the-indent-edge-reset-property><span class=secno>25. </span>The
  7.4855     ‘<a href="#indent-edge-reset"><code
  7.4856     class=property>indent-edge-reset</code></a>’ property</h2>
  7.4857  
  7.4858 @@ -7122,8 +7469,7 @@
  7.4859      <tr>
  7.4860       <td><em>Value:</em>
  7.4861  
  7.4862 -     <td>none | margin-edge | border-edge | padding-edge | content-edge |
  7.4863 -      inherit
  7.4864 +     <td>none | margin-edge | border-edge | padding-edge | content-edge
  7.4865  
  7.4866      <tr>
  7.4867       <td><em>Initial:</em>
  7.4868 @@ -7141,6 +7487,11 @@
  7.4869       <td>no
  7.4870  
  7.4871      <tr>
  7.4872 +     <td>Animatable:
  7.4873 +
  7.4874 +     <td>yes
  7.4875 +
  7.4876 +    <tr>
  7.4877       <td><em>Percentages:</em>
  7.4878  
  7.4879       <td>n/a
  7.4880 @@ -7154,6 +7505,11 @@
  7.4881       <td><a href="#computed-value"><em>Computed value:</em></a>
  7.4882  
  7.4883       <td>specified value
  7.4884 +
  7.4885 +    <tr>
  7.4886 +     <th>Canonical order:
  7.4887 +
  7.4888 +     <td>N/A
  7.4889    </table>
  7.4890  
  7.4891    <p>This property determines which edge to use as the <dfn
  7.4892 @@ -7186,7 +7542,7 @@
  7.4893     formatting context has a value specified for this property, then the
  7.4894     content edge of the root of the formatting context is used.
  7.4895  
  7.4896 -  <h2 id=conformance-and-profiles><span class=secno>25. </span>Conformance
  7.4897 +  <h2 id=conformance-and-profiles><span class=secno>26. </span>Conformance
  7.4898     and profiles</h2>
  7.4899  
  7.4900    <p class=issue>Levels 1, 2 and 3…
  7.4901 @@ -7195,7 +7551,7 @@
  7.4902     href="#vertical."><em>vertical</em></a> elements or the ‘<a
  7.4903     href="#vertical."><code class=css>vertical</code></a>’ media feature.
  7.4904  
  7.4905 -  <h2 id=exit><span class=secno>26. </span>CR exit criteria</h2>
  7.4906 +  <h2 id=exit><span class=secno>27. </span>CR exit criteria</h2>
  7.4907  
  7.4908    <p>As described in the W3C process document, a <a
  7.4909     href="http://www.w3.org/2005/10/Process-20051014/tr.html#cfi">Candidate
  7.4910 @@ -7257,7 +7613,7 @@
  7.4911     CSS WG) tests have not been produced for those feature(s) by the end of
  7.4912     the CR period.
  7.4913  
  7.4914 -  <h2 id=acknowledgments><span class=secno>27. </span>Acknowledgments</h2>
  7.4915 +  <h2 id=acknowledgments><span class=secno>28. </span>Acknowledgments</h2>
  7.4916  
  7.4917    <p class=issue>To do… <!--
  7.4918  <p>[acknowledgments. David Baron, Ian Hickson]
  7.4919 @@ -7286,7 +7642,6 @@
  7.4920  
  7.4921  <p>]
  7.4922  -->
  7.4923 -   
  7.4924  
  7.4925    <h2 class=no-num id=references>References</h2>
  7.4926  
  7.4927 @@ -7303,7 +7658,7 @@
  7.4928      Sheets Level 2 Revision 1 (CSS 2.1) Specification.</cite></a> 7 June
  7.4929      2011. W3C Recommendation. URL: <a
  7.4930      href="http://www.w3.org/TR/2011/REC-CSS2-20110607">http://www.w3.org/TR/2011/REC-CSS2-20110607</a>
  7.4931 -    </dd>
  7.4932 +   </dd>
  7.4933     <!---->
  7.4934  
  7.4935     <dt id=CSS3-2D-TRANSFORMS>[CSS3-2D-TRANSFORMS]
  7.4936 @@ -7313,7 +7668,7 @@
  7.4937      2D Transforms.</cite></a> 15 December 2011. W3C Working Draft. (Work in
  7.4938      progress.) URL: <a
  7.4939      href="http://www.w3.org/TR/2011/WD-css3-2d-transforms-20111215/">http://www.w3.org/TR/2011/WD-css3-2d-transforms-20111215/</a>
  7.4940 -    </dd>
  7.4941 +   </dd>
  7.4942     <!---->
  7.4943  
  7.4944     <dt id=CSS3-WRITING-MODES>[CSS3-WRITING-MODES]
  7.4945 @@ -7323,17 +7678,27 @@
  7.4946      Writing Modes Module Level 3.</cite></a> 1 May 2012. W3C Working Draft.
  7.4947      (Work in progress.) URL: <a
  7.4948      href="http://www.w3.org/TR/2012/WD-css3-writing-modes-20120501/">http://www.w3.org/TR/2012/WD-css3-writing-modes-20120501/</a>
  7.4949 -    </dd>
  7.4950 +   </dd>
  7.4951     <!---->
  7.4952  
  7.4953     <dt id=CSS3BG>[CSS3BG]
  7.4954  
  7.4955     <dd>Bert Bos; Elika J. Etemad; Brad Kemper. <a
  7.4956 -    href="http://www.w3.org/TR/2012/CR-css3-background-20120417/"><cite>CSS
  7.4957 -    Backgrounds and Borders Module Level 3.</cite></a> 17 April 2012. W3C
  7.4958 +    href="http://www.w3.org/TR/2012/CR-css3-background-20120724/"><cite>CSS
  7.4959 +    Backgrounds and Borders Module Level 3.</cite></a> 24 July 2012. W3C
  7.4960      Candidate Recommendation. (Work in progress.) URL: <a
  7.4961 -    href="http://www.w3.org/TR/2012/CR-css3-background-20120417/">http://www.w3.org/TR/2012/CR-css3-background-20120417/</a>
  7.4962 -    </dd>
  7.4963 +    href="http://www.w3.org/TR/2012/CR-css3-background-20120724/">http://www.w3.org/TR/2012/CR-css3-background-20120724/</a>
  7.4964 +   </dd>
  7.4965 +   <!---->
  7.4966 +
  7.4967 +   <dt id=CSS3CASCADE>[CSS3CASCADE]
  7.4968 +
  7.4969 +   <dd>Håkon Wium Lie. <a
  7.4970 +    href="http://www.w3.org/TR/2005/WD-css3-cascade-20051215"><cite>CSS3
  7.4971 +    module: Cascading and inheritance.</cite></a> 15 December 2005. W3C
  7.4972 +    Working Draft. (Work in progress.) URL: <a
  7.4973 +    href="http://www.w3.org/TR/2005/WD-css3-cascade-20051215">http://www.w3.org/TR/2005/WD-css3-cascade-20051215</a>
  7.4974 +   </dd>
  7.4975     <!---->
  7.4976  
  7.4977     <dt id=CSS3GENCON>[CSS3GENCON]
  7.4978 @@ -7343,7 +7708,7 @@
  7.4979      Generated and Replaced Content Module.</cite></a> 14 May 2003. W3C
  7.4980      Working Draft. (Work in progress.) URL: <a
  7.4981      href="http://www.w3.org/TR/2003/WD-css3-content-20030514">http://www.w3.org/TR/2003/WD-css3-content-20030514</a>
  7.4982 -    </dd>
  7.4983 +   </dd>
  7.4984     <!---->
  7.4985  
  7.4986     <dt id=CSS3SYN>[CSS3SYN]
  7.4987 @@ -7353,17 +7718,17 @@
  7.4988      module: Syntax.</cite></a> 13 August 2003. W3C Working Draft. (Work in
  7.4989      progress.) URL: <a
  7.4990      href="http://www.w3.org/TR/2003/WD-css3-syntax-20030813">http://www.w3.org/TR/2003/WD-css3-syntax-20030813</a>
  7.4991 -    </dd>
  7.4992 +   </dd>
  7.4993     <!---->
  7.4994  
  7.4995     <dt id=CSS3TEXT>[CSS3TEXT]
  7.4996  
  7.4997     <dd>Elika J. Etemad; Koji Ishii. <a
  7.4998 -    href="http://www.w3.org/TR/2012/WD-css3-text-20120119/"><cite>CSS Text
  7.4999 -    Level 3.</cite></a> 19 January 2012. W3C Working Draft. (Work in
  7.5000 +    href="http://www.w3.org/TR/2012/WD-css3-text-20120814/"><cite>CSS Text
  7.5001 +    Level 3.</cite></a> 14 August 2012. W3C Working Draft. (Work in
  7.5002      progress.) URL: <a
  7.5003 -    href="http://www.w3.org/TR/2012/WD-css3-text-20120119/">http://www.w3.org/TR/2012/WD-css3-text-20120119/</a>
  7.5004 -    </dd>
  7.5005 +    href="http://www.w3.org/TR/2012/WD-css3-text-20120814/">http://www.w3.org/TR/2012/WD-css3-text-20120814/</a>
  7.5006 +   </dd>
  7.5007     <!---->
  7.5008  
  7.5009     <dt id=CSS3UI>[CSS3UI]
  7.5010 @@ -7373,17 +7738,17 @@
  7.5011      User Interface Module Level 3 (CSS3 UI).</cite></a> 17 January 2012. W3C
  7.5012      Working Draft. (Work in progress.) URL: <a
  7.5013      href="http://www.w3.org/TR/2012/WD-css3-ui-20120117/">http://www.w3.org/TR/2012/WD-css3-ui-20120117/</a>
  7.5014 -    </dd>
  7.5015 +   </dd>
  7.5016     <!---->
  7.5017  
  7.5018     <dt id=CSS3VAL>[CSS3VAL]
  7.5019  
  7.5020     <dd>Håkon Wium Lie; Tab Atkins; Elika J. Etemad. <a
  7.5021 -    href="http://www.w3.org/TR/2012/WD-css3-values-20120308/"><cite>CSS
  7.5022 -    Values and Units Module Level 3.</cite></a> 8 March 2012. W3C Working
  7.5023 -    Draft. (Work in progress.) URL: <a
  7.5024 -    href="http://www.w3.org/TR/2012/WD-css3-values-20120308/">http://www.w3.org/TR/2012/WD-css3-values-20120308/</a>
  7.5025 -    </dd>
  7.5026 +    href="http://www.w3.org/TR/2012/CR-css3-values-20120828/"><cite>CSS
  7.5027 +    Values and Units Module Level 3.</cite></a> 28 August 2012. W3C Candidate
  7.5028 +    Recommendation. (Work in progress.) URL: <a
  7.5029 +    href="http://www.w3.org/TR/2012/CR-css3-values-20120828/">http://www.w3.org/TR/2012/CR-css3-values-20120828/</a>
  7.5030 +   </dd>
  7.5031     <!---->
  7.5032    </dl>
  7.5033    <!--end-normative-->
  7.5034 @@ -7395,6 +7760,16 @@
  7.5035     <dt style="display: none"><!-- keeps the doc valid if the DL is empty -->
  7.5036      <!---->
  7.5037  
  7.5038 +   <dt id=CSS-DEVICE-ADAPT>[CSS-DEVICE-ADAPT]
  7.5039 +
  7.5040 +   <dd>Rune Lillesveen. <a
  7.5041 +    href="http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/"><cite>CSS
  7.5042 +    Device Adaptation.</cite></a> 15 September 2011. W3C Working Draft. (Work
  7.5043 +    in progress.) URL: <a
  7.5044 +    href="http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/">http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/</a>
  7.5045 +   </dd>
  7.5046 +   <!---->
  7.5047 +
  7.5048     <dt id=CSS3-EXCLUSIONS>[CSS3-EXCLUSIONS]
  7.5049  
  7.5050     <dd>Vincent Hardy; Rossen Atanassov; Alan Stearns. <a
  7.5051 @@ -7402,7 +7777,17 @@
  7.5052      Exclusions and Shapes Module Level 3.</cite></a> 3 May 2012. W3C Working
  7.5053      Draft. (Work in progress.) URL: <a
  7.5054      href="http://www.w3.org/TR/2012/WD-css3-exclusions-20120503/">http://www.w3.org/TR/2012/WD-css3-exclusions-20120503/</a>
  7.5055 -    </dd>
  7.5056 +   </dd>
  7.5057 +   <!---->
  7.5058 +
  7.5059 +   <dt id=CSS3-FLEXBOX>[CSS3-FLEXBOX]
  7.5060 +
  7.5061 +   <dd>Tab Atkins Jr.; Elika J. Etemad; Alex Mogilevsky. <a
  7.5062 +    href="http://www.w3.org/TR/2012/WD-css3-flexbox-20120612/"><cite>CSS
  7.5063 +    Flexible Box Layout Module.</cite></a> 12 June 2012. W3C Working Draft.
  7.5064 +    (Work in progress.) URL: <a
  7.5065 +    href="http://www.w3.org/TR/2012/WD-css3-flexbox-20120612/">http://www.w3.org/TR/2012/WD-css3-flexbox-20120612/</a>
  7.5066 +   </dd>
  7.5067     <!---->
  7.5068  
  7.5069     <dt id=CSS3-MARQUEE>[CSS3-MARQUEE]
  7.5070 @@ -7412,17 +7797,17 @@
  7.5071      Marquee Module Level 3.</cite></a> 5 December 2008. W3C Candidate
  7.5072      Recommendation. (Work in progress.) URL: <a
  7.5073      href="http://www.w3.org/TR/2008/CR-css3-marquee-20081205">http://www.w3.org/TR/2008/CR-css3-marquee-20081205</a>
  7.5074 -    </dd>
  7.5075 +   </dd>
  7.5076     <!---->
  7.5077  
  7.5078 -   <dt id=CSS3CASCADE>[CSS3CASCADE]
  7.5079 -
  7.5080 -   <dd>Håkon Wium Lie. <a
  7.5081 -    href="http://www.w3.org/TR/2005/WD-css3-cascade-20051215"><cite>CSS3
  7.5082 -    module: Cascading and inheritance.</cite></a> 15 December 2005. W3C
  7.5083 -    Working Draft. (Work in progress.) URL: <a
  7.5084 -    href="http://www.w3.org/TR/2005/WD-css3-cascade-20051215">http://www.w3.org/TR/2005/WD-css3-cascade-20051215</a>
  7.5085 -    </dd>
  7.5086 +   <dt id=CSS3-TRANSFORMS>[CSS3-TRANSFORMS]
  7.5087 +
  7.5088 +   <dd>Simon Fraser; et al. <a
  7.5089 +    href="http://www.w3.org/TR/2012/WD-css3-transforms-20120403/"><cite>CSS
  7.5090 +    Transforms.</cite></a> 3 April 2012. W3C Working Draft. (Work in
  7.5091 +    progress.) URL: <a
  7.5092 +    href="http://www.w3.org/TR/2012/WD-css3-transforms-20120403/">http://www.w3.org/TR/2012/WD-css3-transforms-20120403/</a>
  7.5093 +   </dd>
  7.5094     <!---->
  7.5095  
  7.5096     <dt id=CSS3GCPM>[CSS3GCPM]
  7.5097 @@ -7432,7 +7817,7 @@
  7.5098      Generated Content for Paged Media Module.</cite></a> 8 June 2010. W3C
  7.5099      Working Draft. (Work in progress.) URL: <a
  7.5100      href="http://www.w3.org/TR/2010/WD-css3-gcpm-20100608">http://www.w3.org/TR/2010/WD-css3-gcpm-20100608</a>
  7.5101 -    </dd>
  7.5102 +   </dd>
  7.5103     <!---->
  7.5104  
  7.5105     <dt id=CSS3LAYOUT>[CSS3LAYOUT]
  7.5106 @@ -7442,7 +7827,17 @@
  7.5107      Template Layout Module.</cite></a> 29 April 2010. W3C Working Draft.
  7.5108      (Work in progress.) URL: <a
  7.5109      href="http://www.w3.org/TR/2010/WD-css3-layout-20100429">http://www.w3.org/TR/2010/WD-css3-layout-20100429</a>
  7.5110 -    </dd>
  7.5111 +   </dd>
  7.5112 +   <!---->
  7.5113 +
  7.5114 +   <dt id=CSS3LINE>[CSS3LINE]
  7.5115 +
  7.5116 +   <dd>Michel Suignard; Eric A. Meyer. <a
  7.5117 +    href="http://www.w3.org/TR/2002/WD-css3-linebox-20020515"><cite>CSS3
  7.5118 +    module: line.</cite></a> 15 May 2002. W3C Working Draft. (Work in
  7.5119 +    progress.) URL: <a
  7.5120 +    href="http://www.w3.org/TR/2002/WD-css3-linebox-20020515">http://www.w3.org/TR/2002/WD-css3-linebox-20020515</a>
  7.5121 +   </dd>
  7.5122     <!---->
  7.5123  
  7.5124     <dt id=CSS3LIST>[CSS3LIST]
  7.5125 @@ -7452,7 +7847,7 @@
  7.5126      and Counters Module Level 3.</cite></a> 24 May 2011. W3C Working Draft.
  7.5127      (Work in progress.) URL: <a
  7.5128      href="http://www.w3.org/TR/2011/WD-css3-lists-20110524">http://www.w3.org/TR/2011/WD-css3-lists-20110524</a>
  7.5129 -    </dd>
  7.5130 +   </dd>
  7.5131     <!---->
  7.5132  
  7.5133     <dt id=CSS3PAGE>[CSS3PAGE]
  7.5134 @@ -7462,7 +7857,7 @@
  7.5135      Paged Media.</cite></a> 10 October 2006. W3C Working Draft. (Work in
  7.5136      progress.) URL: <a
  7.5137      href="http://www.w3.org/TR/2006/WD-css3-page-20061010">http://www.w3.org/TR/2006/WD-css3-page-20061010</a>
  7.5138 -    </dd>
  7.5139 +   </dd>
  7.5140     <!---->
  7.5141  
  7.5142     <dt id=CSS3POS>[CSS3POS]
  7.5143 @@ -7478,7 +7873,7 @@
  7.5144      Module.</cite></a> 30 June 2011. W3C Working Draft. (Work in progress.)
  7.5145      URL: <a
  7.5146      href="http://www.w3.org/TR/2011/WD-css3-ruby-20110630/">http://www.w3.org/TR/2011/WD-css3-ruby-20110630/</a>
  7.5147 -    </dd>
  7.5148 +   </dd>
  7.5149     <!---->
  7.5150  
  7.5151     <dt id=CSS3TBL>[CSS3TBL]
  7.5152 @@ -7490,11 +7885,10 @@
  7.5153     <dt id=MEDIAQ>[MEDIAQ]
  7.5154  
  7.5155     <dd>Florian Rivoal. <a
  7.5156 -    href="http://www.w3.org/TR/2012/PR-css3-mediaqueries-20120426/"><cite>Media
  7.5157 -    Queries.</cite></a> 26 April 2012. W3C Proposed Recommendation. (Work in
  7.5158 -    progress.) URL: <a
  7.5159 -    href="http://www.w3.org/TR/2012/PR-css3-mediaqueries-20120426/">http://www.w3.org/TR/2012/PR-css3-mediaqueries-20120426/</a>
  7.5160 -    </dd>
  7.5161 +    href="http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/"><cite>Media
  7.5162 +    Queries.</cite></a> 19 June 2012. W3C Recommendation. URL: <a
  7.5163 +    href="http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/">http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/</a>
  7.5164 +   </dd>
  7.5165     <!---->
  7.5166    </dl>
  7.5167    <!--end-informative-->
  7.5168 @@ -7503,47 +7897,46 @@
  7.5169    <!--begin-index-->
  7.5170  
  7.5171    <ul class=indexlist>
  7.5172 -   <li>A,, <a href="#a" title="A,"><strong>3.</strong></a>
  7.5173 -
  7.5174 -   <li>A-C, <a href="#a-c" title=A-C><strong>3.</strong></a>
  7.5175 +   <li>absent, <a href="#ldquoabsentrdquo"
  7.5176 +    title=absent><strong>3.</strong></a>
  7.5177  
  7.5178     <li>adjoining, <a href="#adjoining"
  7.5179 -    title=adjoining><strong>9.2.</strong></a>
  7.5180 +    title=adjoining><strong>14.1.</strong></a>
  7.5181 +
  7.5182 +   <li>A edge,, <a href="#a-edge" title="A edge,"><strong>3.</strong></a>
  7.5183  
  7.5184     <li>alignment, <a href="#alignment"
  7.5185 -    title=alignment><strong>20.</strong></a>
  7.5186 -
  7.5187 -   <li>AMIN, <a href="#amin" title=AMIN><strong>13.</strong></a>
  7.5188 +    title=alignment><strong>21.</strong></a>
  7.5189 +
  7.5190 +   <li>AMIN, <a href="#amin" title=AMIN><strong>12.</strong></a>
  7.5191  
  7.5192     <li><a href="#ltanglegt"><var>&lt;angle&gt;</var></a>, <a
  7.5193      href="#ltanglegt" title="&lt;angle&gt;"><strong>2.</strong></a>
  7.5194  
  7.5195     <li>anonymous box,, <a href="#anonymous-box"
  7.5196 -    title="anonymous box,"><strong>7.3.</strong></a>
  7.5197 +    title="anonymous box,"><strong>6.3.</strong></a>
  7.5198  
  7.5199     <li>approximate intrinsic minimum, <a
  7.5200      href="#approximate-intrinsic-minimum"
  7.5201 -    title="approximate intrinsic minimum"><strong>13.</strong></a>
  7.5202 +    title="approximate intrinsic minimum"><strong>12.</strong></a>
  7.5203  
  7.5204     <li>approximate intrinsic preferred, <a
  7.5205      href="#approximate-intrinsic-preferred"
  7.5206 -    title="approximate intrinsic preferred"><strong>13.</strong></a>
  7.5207 -
  7.5208 -   <li>APREF, <a href="#apref" title=APREF><strong>13.</strong></a>
  7.5209 -
  7.5210 -   <li>A′,, <a href="#aprime" title="A′,"><strong>3.</strong></a>
  7.5211 +    title="approximate intrinsic preferred"><strong>12.</strong></a>
  7.5212 +
  7.5213 +   <li>APREF, <a href="#apref" title=APREF><strong>12.</strong></a>
  7.5214 +
  7.5215 +   <li>Aspect ratios, <a href="#aspect-ratios" title="Aspect ratios">13.</a>
  7.5216  
  7.5217     <li>auto
  7.5218      <ul>
  7.5219       <li>value of ‘<a href="#width"><code
  7.5220        class=property>width</code></a>’ or ‘<a href="#height"><code
  7.5221        class=property>height</code></a>’, <a href="#auto0"
  7.5222 -      title="auto, value of 'width' or 'height'"><strong>22.5.</strong></a>
  7.5223 +      title="auto, value of 'width' or 'height'"><strong>23.5.</strong></a>
  7.5224      </ul>
  7.5225  
  7.5226 -   <li>B,, <a href="#b" title="B,"><strong>3.</strong></a>
  7.5227 -
  7.5228 -   <li>B-D, <a href="#b-d" title=B-D><strong>3.</strong></a>
  7.5229 +   <li>B edge,, <a href="#b-edge" title="B edge,"><strong>3.</strong></a>
  7.5230  
  7.5231     <li><a href="#ltbg-positiongt"><var>&lt;bg-position&gt;</var></a>, <a
  7.5232      href="#ltbg-positiongt"
  7.5233 @@ -7553,20 +7946,29 @@
  7.5234      <ul>
  7.5235       <li>value of ‘<a href="#float-displace"><code
  7.5236        class=property>float-displace</code></a>’, <a href="#block"
  7.5237 -      title="block, value of 'float-displace'"><strong>23.</strong></a>
  7.5238 +      title="block, value of 'float-displace'"><strong>24.</strong></a>
  7.5239      </ul>
  7.5240  
  7.5241     <li>block container box, <a href="#block-container-box"
  7.5242 -    title="block container box"><strong>7.3.</strong></a>
  7.5243 -
  7.5244 -   <li>block flow dimension, <a href="#block-flow"
  7.5245 -    title="block flow dimension"><strong>3.</strong></a>
  7.5246 +    title="block container box"><strong>6.3.</strong></a>
  7.5247 +
  7.5248 +   <li>block dimension, <a href="#block-dimension"
  7.5249 +    title="block dimension"><strong>3.</strong></a>
  7.5250  
  7.5251     <li>block flow direction, <a href="#block-flow-direction"
  7.5252      title="block flow direction"><strong>2.</strong></a>
  7.5253  
  7.5254 +   <li>block formatting context,, <a href="#block-formatting-context"
  7.5255 +    title="block formatting context,"><strong>14.</strong></a>
  7.5256 +
  7.5257     <li>block-level, <a href="#block-level"
  7.5258 -    title=block-level><strong>7.3.</strong></a>
  7.5259 +    title=block-level><strong>6.3.</strong></a>
  7.5260 +
  7.5261 +   <li>border
  7.5262 +    <ul>
  7.5263 +     <li>absent, <a href="#ldquoabsentrdquo"
  7.5264 +      title="border, absent"><strong>3.</strong></a>
  7.5265 +    </ul>
  7.5266  
  7.5267     <li>border area, <a href="#border-area"
  7.5268      title="border area"><strong>3.</strong></a>
  7.5269 @@ -7581,43 +7983,48 @@
  7.5270      <ul>
  7.5271       <li>value of ‘<a href="#clear-after"><code
  7.5272        class=property>clear-after</code></a>’, <a href="#both"
  7.5273 -      title="both, value of 'clear-after'"><strong>17.</strong></a>
  7.5274 +      title="both, value of 'clear-after'"><strong>18.</strong></a>
  7.5275      </ul>
  7.5276  
  7.5277     <li>box-sizing, <a href="#box-sizing"
  7.5278      title=box-sizing><strong>2.</strong></a>
  7.5279  
  7.5280 -   <li>B′,, <a href="#bprime" title="B′,"><strong>3.</strong></a>
  7.5281 -
  7.5282 -   <li>C, <a href="#c" title=C><strong>3.</strong></a>
  7.5283 +   <li>box tree, <a href="#box-tree."
  7.5284 +    title="box tree"><strong>3.</strong></a>
  7.5285  
  7.5286     <li>canvas, <a href="#canvas" title=canvas><strong>4.</strong></a>
  7.5287  
  7.5288 +   <li>C edge, <a href="#c-edge" title="C edge"><strong>3.</strong></a>
  7.5289 +
  7.5290 +   <li>channeled, <a href="#channeled"
  7.5291 +    title=channeled><strong>5.</strong></a>
  7.5292 +
  7.5293     <li>child-align, <a href="#child-align"
  7.5294 -    title=child-align><strong>21.</strong></a>
  7.5295 -
  7.5296 -   <li>clear, <a href="#clear" title=clear><strong>16.</strong></a>
  7.5297 +    title=child-align><strong>22.</strong></a>
  7.5298 +
  7.5299 +   <li>clear, <a href="#clear" title=clear><strong>17.</strong></a>
  7.5300  
  7.5301     <li>clear-after, <a href="#clear-after"
  7.5302 -    title=clear-after><strong>17.</strong></a>
  7.5303 +    title=clear-after><strong>18.</strong></a>
  7.5304  
  7.5305     <li>clearance., <a href="#clearance."
  7.5306 -    title=clearance.><strong>16.</strong></a>
  7.5307 +    title=clearance.><strong>17.</strong></a>
  7.5308  
  7.5309     <li>collapse., <a href="#collapse."
  7.5310 -    title=collapse.><strong>9.2.</strong></a>
  7.5311 +    title=collapse.><strong>14.1.</strong></a>
  7.5312  
  7.5313     <li>collapsed through, <a href="#collapsed-through"
  7.5314 -    title="collapsed through"><strong>9.2.</strong></a>
  7.5315 +    title="collapsed through"><strong>14.1.</strong></a>
  7.5316  
  7.5317     <li>complex aspect ratio, <a href="#complex-aspect-ratio"
  7.5318 -    title="complex aspect ratio"><strong>5.</strong></a>
  7.5319 +    title="complex aspect ratio"><strong>13.</strong></a>
  7.5320  
  7.5321     <li>computed value, <a href="#computed-value"
  7.5322      title="computed value"><strong>2.</strong></a>
  7.5323  
  7.5324     <li>containing block, <a href="#containing-block"
  7.5325 -    title="containing block"><strong>7.3.</strong></a>
  7.5326 +    title="containing block">3.</a>, <a href="#containing-block0"
  7.5327 +    title="containing block"><strong>6.3.</strong></a>
  7.5328  
  7.5329     <li>contains, <a href="#contains" title=contains><strong>3.</strong></a>
  7.5330  
  7.5331 @@ -7630,92 +8037,108 @@
  7.5332     <li>content edge., <a href="#content-edge."
  7.5333      title="content edge."><strong>3.</strong></a>
  7.5334  
  7.5335 -   <li>C′, <a href="#cprime" title="C′"><strong>3.</strong></a>
  7.5336 -
  7.5337 -   <li>D,, <a href="#d" title="D,"><strong>3.</strong></a>
  7.5338 +   <li>D edge., <a href="#d-edge." title="D edge."><strong>3.</strong></a>
  7.5339  
  7.5340     <li>direction, <a href="#direction"
  7.5341      title=direction><strong>2.</strong></a>
  7.5342  
  7.5343 -   <li>display, <a href="#display0" title=display><strong>7.1.</strong></a>
  7.5344 +   <li>display, <a href="#display0" title=display><strong>6.1.</strong></a>
  7.5345  
  7.5346     <li>document tree, <a href="#tree" title="document tree">3.</a>
  7.5347  
  7.5348 -   <li>D′, <a href="#dprime" title="D′"><strong>3.</strong></a>
  7.5349 -
  7.5350     <li>element, <a href="#elements." title=element><strong>3.</strong></a>
  7.5351  
  7.5352     <li>element tree, <a href="#tree" title="element tree">3.</a>
  7.5353  
  7.5354 -   <li>end,, <a href="#end" title="end,"><strong>3.</strong></a>
  7.5355 -
  7.5356 -   <li>endside,, <a href="#endside" title="endside,"><strong>3.</strong></a>
  7.5357 +   <li>end, <a href="#end" title=end><strong>3.</strong></a>
  7.5358  
  7.5359     <li>exclusion zone, <a href="#exclusion-zone"
  7.5360 -    title="exclusion zone"><strong>15.</strong></a>
  7.5361 -
  7.5362 -   <li>float, <a href="#float" title=float><strong>15.</strong></a>
  7.5363 +    title="exclusion zone"><strong>16.</strong></a>
  7.5364 +
  7.5365 +   <li>float, <a href="#float" title=float><strong>16.</strong></a>
  7.5366  
  7.5367     <li>float-displace, <a href="#float-displace"
  7.5368 -    title=float-displace><strong>23.</strong></a>
  7.5369 -
  7.5370 -   <li>flow, <a href="#flow" title=flow><strong>7.3.</strong></a>
  7.5371 +    title=float-displace><strong>24.</strong></a>
  7.5372 +
  7.5373 +   <li>flow, <a href="#flow" title=flow>3.</a>, <a href="#flow0"
  7.5374 +    title=flow><strong>5.</strong></a>
  7.5375 +    <ul>
  7.5376 +     <li>initial, <a href="#initial-flow"
  7.5377 +      title="flow, initial"><strong>5.</strong></a>
  7.5378 +    </ul>
  7.5379  
  7.5380     <li>flow root, <a href="#flow-root"
  7.5381 -    title="flow root"><strong>7.3.</strong></a>
  7.5382 +    title="flow root"><strong>5.</strong></a>
  7.5383 +    <ul>
  7.5384 +     <li>box, <a href="#box" title="flow root, box">5.</a>
  7.5385 +
  7.5386 +     <li>element, <a href="#flow-root." title="flow root, element">5.</a>
  7.5387 +    </ul>
  7.5388 +
  7.5389 +   <li>foot,, <a href="#foot" title="foot,"><strong>3.</strong></a>
  7.5390  
  7.5391     <li>formatting context, <a href="#new-formatting-context."
  7.5392 -    title="formatting context">7.3.</a>
  7.5393 +    title="formatting context">5.</a>
  7.5394  
  7.5395     <li>generated box, <a href="#generates"
  7.5396      title="generated box"><strong>3.</strong></a>
  7.5397  
  7.5398     <li>head,, <a href="#head" title="head,"><strong>3.</strong></a>
  7.5399  
  7.5400 -   <li>headside,, <a href="#headside"
  7.5401 -    title="headside,"><strong>3.</strong></a>
  7.5402 -
  7.5403 -   <li>height, <a href="#height" title=height><strong>10.</strong></a>
  7.5404 +   <li>height, <a href="#height" title=height><strong>9.</strong></a>
  7.5405 +    <ul>
  7.5406 +     <li>logical, <a href="#logical-height."
  7.5407 +      title="height, logical"><strong>3.</strong></a>
  7.5408 +    </ul>
  7.5409  
  7.5410     <li>horizontal, <a href="#horizontal"
  7.5411      title=horizontal><strong>3.</strong></a>
  7.5412  
  7.5413 -   <li>IMIN, <a href="#imin" title=IMIN><strong>12.</strong></a>
  7.5414 +   <li>IMIN, <a href="#imin" title=IMIN><strong>11.</strong></a>
  7.5415  
  7.5416     <li>indent-edge-reset, <a href="#indent-edge-reset"
  7.5417 -    title=indent-edge-reset><strong>24.</strong></a>
  7.5418 +    title=indent-edge-reset><strong>25.</strong></a>
  7.5419 +
  7.5420 +   <li>induced,, <a href="#induced" title="induced,"><strong>3.</strong></a>
  7.5421  
  7.5422     <li>inhibits run-in behavior, <a href="#inhibits-run-in-behavior"
  7.5423 -    title="inhibits run-in behavior"><strong>7.4.</strong></a>
  7.5424 +    title="inhibits run-in behavior"><strong>6.4.</strong></a>
  7.5425  
  7.5426     <li>initial containing block., <a href="#initial-containing-block."
  7.5427 -    title="initial containing block."><strong>7.3.</strong></a>
  7.5428 +    title="initial containing block."><strong>6.3.</strong></a>
  7.5429 +
  7.5430 +   <li>initial flow, <a href="#initial-flow"
  7.5431 +    title="initial flow"><strong>5.</strong></a>
  7.5432  
  7.5433     <li>inline base direction., <a href="#inline-base-direction."
  7.5434      title="inline base direction."><strong>2.</strong></a>
  7.5435  
  7.5436 -   <li>inline dimension, <a href="#inline"
  7.5437 +   <li>inline dimension, <a href="#inline-dimension"
  7.5438      title="inline dimension"><strong>3.</strong></a>
  7.5439  
  7.5440     <li>inline-level, <a href="#inline-level"
  7.5441 -    title=inline-level><strong>7.3.</strong></a>
  7.5442 +    title=inline-level><strong>6.3.</strong></a>
  7.5443  
  7.5444     <li>intrinsic, <a href="#intrinsic0"
  7.5445      title=intrinsic><strong>2.</strong></a>
  7.5446  
  7.5447     <li>intrinsic height., <a href="#intrinsic-height."
  7.5448 -    title="intrinsic height.">5.</a>
  7.5449 +    title="intrinsic height.">13.</a>
  7.5450  
  7.5451     <li>intrinsic minimum, <a href="#intrinsic-minimum"
  7.5452 -    title="intrinsic minimum"><strong>12.</strong></a>
  7.5453 +    title="intrinsic minimum"><strong>11.</strong></a>
  7.5454  
  7.5455     <li>intrinsic preferred, <a href="#intrinsic-preferred"
  7.5456 -    title="intrinsic preferred"><strong>12.</strong></a>
  7.5457 +    title="intrinsic preferred"><strong>11.</strong></a>
  7.5458 +
  7.5459 +   <li>intrinsic ratio, <a href="#intrinsic-ratio"
  7.5460 +    title="intrinsic ratio">13.</a>, <a href="#intrinsic-ratio0"
  7.5461 +    title="intrinsic ratio">13.</a>
  7.5462  
  7.5463     <li>intrinsic width, <a href="#intrinsic-width"
  7.5464 -    title="intrinsic width">5.</a>
  7.5465 -
  7.5466 -   <li>IPREF, <a href="#ipref" title=IPREF><strong>12.</strong></a>
  7.5467 +    title="intrinsic width">13.</a>
  7.5468 +
  7.5469 +   <li>IPREF, <a href="#ipref" title=IPREF><strong>11.</strong></a>
  7.5470  
  7.5471     <li><a href="#ltlengthgt"><var>&lt;length&gt;</var></a>, <a
  7.5472      href="#ltlengthgt" title="&lt;length&gt;"><strong>2.</strong></a>
  7.5473 @@ -7723,86 +8146,93 @@
  7.5474     <li>line box., <a href="#line-box."
  7.5475      title="line box."><strong>2.</strong></a>
  7.5476  
  7.5477 -   <li>margin, <a href="#margin" title=margin><strong>9.1.</strong></a>
  7.5478 +   <li>logical height, <a href="#logical-height."
  7.5479 +    title="logical height"><strong>3.</strong></a>
  7.5480 +
  7.5481 +   <li>logical width, <a href="#logical-width"
  7.5482 +    title="logical width"><strong>3.</strong></a>
  7.5483 +
  7.5484 +   <li>margin, <a href="#margin" title=margin><strong>8.1.</strong></a>
  7.5485  
  7.5486     <li>margin area, <a href="#margin-area"
  7.5487      title="margin area"><strong>3.</strong></a>
  7.5488  
  7.5489     <li>margin-bottom, <a href="#margin-bottom"
  7.5490 -    title=margin-bottom><strong>9.1.</strong></a>
  7.5491 +    title=margin-bottom><strong>8.1.</strong></a>
  7.5492  
  7.5493     <li>margin edge., <a href="#margin-edge."
  7.5494      title="margin edge."><strong>3.</strong></a>
  7.5495  
  7.5496     <li>margin-left, <a href="#margin-left"
  7.5497 -    title=margin-left><strong>9.1.</strong></a>
  7.5498 +    title=margin-left><strong>8.1.</strong></a>
  7.5499  
  7.5500     <li>margin-right, <a href="#margin-right"
  7.5501 -    title=margin-right><strong>9.1.</strong></a>
  7.5502 +    title=margin-right><strong>8.1.</strong></a>
  7.5503  
  7.5504     <li>margin-top, <a href="#margin-top"
  7.5505 -    title=margin-top><strong>9.1.</strong></a>
  7.5506 +    title=margin-top><strong>8.1.</strong></a>
  7.5507  
  7.5508     <li>max-height, <a href="#max-height"
  7.5509 -    title=max-height><strong>11.</strong></a>
  7.5510 +    title=max-height><strong>10.</strong></a>
  7.5511  
  7.5512     <li>max-width, <a href="#max-width"
  7.5513 -    title=max-width><strong>11.</strong></a>
  7.5514 +    title=max-width><strong>10.</strong></a>
  7.5515  
  7.5516     <li>min-height, <a href="#min-height"
  7.5517 -    title=min-height><strong>11.</strong></a>
  7.5518 +    title=min-height><strong>10.</strong></a>
  7.5519  
  7.5520     <li>min-width, <a href="#min-width"
  7.5521 -    title=min-width><strong>11.</strong></a>
  7.5522 +    title=min-width><strong>10.</strong></a>
  7.5523  
  7.5524     <li>new formatting context, <a href="#new-formatting-context."
  7.5525 -    title="new formatting context">7.3.</a>
  7.5526 +    title="new formatting context">5.</a>
  7.5527  
  7.5528     <li>no-content, <a href="#no-content"
  7.5529 -    title=no-content><strong>18.1.</strong></a>
  7.5530 +    title=no-content><strong>19.1.</strong></a>
  7.5531  
  7.5532     <li>no-display, <a href="#no-display"
  7.5533 -    title=no-display><strong>18.1.</strong></a>
  7.5534 +    title=no-display><strong>19.1.</strong></a>
  7.5535  
  7.5536     <li>none
  7.5537      <ul>
  7.5538       <li>value of ‘<a href="#clear-after"><code
  7.5539        class=property>clear-after</code></a>’, <a href="#none"
  7.5540 -      title="none, value of 'clear-after'"><strong>17.</strong></a>
  7.5541 +      title="none, value of 'clear-after'"><strong>18.</strong></a>
  7.5542  
  7.5543       <li>value of ‘<a href="#indent-edge-reset"><code
  7.5544        class=property>indent-edge-reset</code></a>’, <a href="#none0"
  7.5545 -      title="none, value of 'indent-edge-reset'"><strong>24.</strong></a>
  7.5546 +      title="none, value of 'indent-edge-reset'"><strong>25.</strong></a>
  7.5547      </ul>
  7.5548  
  7.5549     <li>Non-transparent, <a href="#non-transparent"
  7.5550 -    title=Non-transparent><strong>15.</strong></a>
  7.5551 +    title=Non-transparent><strong>16.</strong></a>
  7.5552  
  7.5553     <li>normal flow, <a href="#normal-flow"
  7.5554 -    title="normal flow"><strong>7.3.</strong></a>
  7.5555 +    title="normal flow"><strong>5.</strong></a>
  7.5556  
  7.5557     <li><a href="#ltnumbergt"><var>&lt;number&gt;</var></a>, <a
  7.5558      href="#ltnumbergt" title="&lt;number&gt;"><strong>2.</strong></a>
  7.5559  
  7.5560 -   <li>orientation, <a href="#orientation"
  7.5561 -    title=orientation><strong>3.</strong></a>
  7.5562 -
  7.5563     <li>overflow, <a href="#overflow1"
  7.5564 -    title=overflow><strong>18.1.</strong></a>
  7.5565 +    title=overflow><strong>19.1.</strong></a>
  7.5566  
  7.5567     <li>overflow-x, <a href="#overflow-x"
  7.5568 -    title=overflow-x><strong>18.1.</strong></a>
  7.5569 +    title=overflow-x><strong>19.1.</strong></a>
  7.5570  
  7.5571     <li>overflow-y, <a href="#overflow-y"
  7.5572 -    title=overflow-y><strong>18.1.</strong></a>
  7.5573 -
  7.5574 -   <li>padding, <a href="#padding" title=padding><strong>8.</strong></a>
  7.5575 +    title=overflow-y><strong>19.1.</strong></a>
  7.5576 +
  7.5577 +   <li>padding, <a href="#padding" title=padding><strong>7.</strong></a>
  7.5578 +    <ul>
  7.5579 +     <li>absent, <a href="#ldquoabsentrdquo"
  7.5580 +      title="padding, absent"><strong>3.</strong></a>
  7.5581 +    </ul>
  7.5582  
  7.5583     <li>padding area, <a href="#padding-area"
  7.5584      title="padding area"><strong>3.</strong></a>
  7.5585  
  7.5586     <li>padding-bottom, <a href="#padding-bottom"
  7.5587 -    title=padding-bottom><strong>8.</strong></a>
  7.5588 +    title=padding-bottom><strong>7.</strong></a>
  7.5589  
  7.5590     <li>padding box., <a href="#padding-box."
  7.5591      title="padding box."><strong>3.</strong></a>
  7.5592 @@ -7811,66 +8241,61 @@
  7.5593      title="padding edge."><strong>3.</strong></a>
  7.5594  
  7.5595     <li>padding-left, <a href="#padding-left"
  7.5596 -    title=padding-left><strong>8.</strong></a>
  7.5597 +    title=padding-left><strong>7.</strong></a>
  7.5598  
  7.5599     <li>padding-right, <a href="#padding-right"
  7.5600 -    title=padding-right><strong>8.</strong></a>
  7.5601 +    title=padding-right><strong>7.</strong></a>
  7.5602  
  7.5603     <li>padding-top, <a href="#padding-top"
  7.5604 -    title=padding-top><strong>8.</strong></a>
  7.5605 +    title=padding-top><strong>7.</strong></a>
  7.5606  
  7.5607     <li><a href="#ltpercentagegt"><var>&lt;percentage&gt;</var></a>, <a
  7.5608      href="#ltpercentagegt" title="&lt;percentage&gt;"><strong>2.</strong></a>
  7.5609 -    
  7.5610  
  7.5611     <li>principal box, <a href="#principal-box"
  7.5612 -    title="principal box"><strong>7.3.</strong></a>
  7.5613 -
  7.5614 -   <li>raster images, <a href="#raster-images" title="raster images">5.</a>
  7.5615 +    title="principal box"><strong>6.3.</strong></a>
  7.5616 +
  7.5617 +   <li>raster images, <a href="#raster-images" title="raster images">13.</a>
  7.5618  
  7.5619     <li>reference indent edge, <a href="#reference-indent-edge"
  7.5620 -    title="reference indent edge"><strong>24.</strong></a>
  7.5621 +    title="reference indent edge"><strong>25.</strong></a>
  7.5622  
  7.5623     <li>relative indent, <a href="#relative-indent"
  7.5624 -    title="relative indent"><strong>23.</strong></a>
  7.5625 +    title="relative indent"><strong>24.</strong></a>
  7.5626  
  7.5627     <li>replaced element, <a href="#replaced-element"
  7.5628      title="replaced element"><strong>2.</strong></a>, <a
  7.5629 -    href="#replaced-elements" title="replaced element">5.</a>
  7.5630 +    href="#replaced-elements" title="replaced element">13.</a>
  7.5631  
  7.5632     <li>root element., <a href="#root-element."
  7.5633      title="root element."><strong>3.</strong></a>
  7.5634  
  7.5635     <li>scrolling mechanism, <a href="#scrolling-mechanism"
  7.5636 -    title="scrolling mechanism"><strong>18.1.</strong></a>
  7.5637 +    title="scrolling mechanism"><strong>19.1.</strong></a>
  7.5638  
  7.5639     <li>"shrink-wrapped", <a href="#shrink-wrapped"
  7.5640 -    title="&quot;shrink-wrapped&quot;"><strong>22.5.</strong></a>
  7.5641 -
  7.5642 -   <li>start,, <a href="#start" title="start,"><strong>3.</strong></a>
  7.5643 -
  7.5644 -   <li>startside, <a href="#startside"
  7.5645 -    title=startside><strong>3.</strong></a>
  7.5646 +    title="&quot;shrink-wrapped&quot;"><strong>23.5.</strong></a>
  7.5647 +
  7.5648 +   <li>start, <a href="#start" title=start><strong>3.</strong></a>
  7.5649  
  7.5650     <li>static position, <a href="#static-position"
  7.5651 -    title="static position"><strong>14.6.</strong></a>
  7.5652 +    title="static position"><strong>15.6.</strong></a>
  7.5653  
  7.5654     <li>&lt;stretch&gt;, <a href="#ltstretchgt"
  7.5655 -    title="&lt;stretch&gt;"><strong>9.1.</strong></a>
  7.5656 -
  7.5657 -   <li>SVG, <a href="#svg" title=SVG>5.</a>, <a href="#svg0"
  7.5658 -    title=SVG>5.</a>, <a href="#svg1" title=SVG>7.2.</a>, <a href="#svg2"
  7.5659 -    title=SVG>22.5.</a>
  7.5660 -
  7.5661 -   <li>tail, <a href="#tail" title=tail><strong>3.</strong></a>
  7.5662 -
  7.5663 -   <li>tailside, <a href="#tailside" title=tailside><strong>3.</strong></a>
  7.5664 +    title="&lt;stretch&gt;"><strong>8.1.</strong></a>
  7.5665 +
  7.5666 +   <li>SVG, <a href="#svg" title=SVG>6.2.</a>, <a href="#svg0"
  7.5667 +    title=SVG>13.</a>, <a href="#svg1" title=SVG>13.</a>, <a href="#svg2"
  7.5668 +    title=SVG>23.5.</a>
  7.5669  
  7.5670     <li>transform, <a href="#transform"
  7.5671      title=transform><strong>2.</strong></a>
  7.5672  
  7.5673     <li>tree
  7.5674      <ul>
  7.5675 +     <li>of boxes, <a href="#box-tree."
  7.5676 +      title="tree, of boxes"><strong>3.</strong></a>
  7.5677 +
  7.5678       <li>of elements, <a href="#tree" title="tree, of elements">3.</a>
  7.5679      </ul>
  7.5680  
  7.5681 @@ -7883,15 +8308,16 @@
  7.5682     <li>viewport, <a href="#viewport" title=viewport><strong>4.</strong></a>
  7.5683  
  7.5684     <li>visibility, <a href="#visibility"
  7.5685 -    title=visibility><strong>19.</strong></a>
  7.5686 -
  7.5687 -   <li>width, <a href="#width" title=width><strong>10.</strong></a>
  7.5688 +    title=visibility><strong>20.</strong></a>
  7.5689 +
  7.5690 +   <li>width, <a href="#width" title=width><strong>9.</strong></a>
  7.5691 +    <ul>
  7.5692 +     <li>logical, <a href="#logical-width"
  7.5693 +      title="width, logical"><strong>3.</strong></a>
  7.5694 +    </ul>
  7.5695  
  7.5696     <li>writing-mode, <a href="#writing-mode"
  7.5697      title=writing-mode><strong>2.</strong></a>
  7.5698 -
  7.5699 -   <li>WYSIWYG document editors, <a href="#wysiwyg-document-editors"
  7.5700 -    title="WYSIWYG document editors">3.</a>
  7.5701    </ul>
  7.5702    <!--end-index-->
  7.5703  
  7.5704 @@ -7947,21 +8373,6 @@
  7.5705       <td>visual
  7.5706  
  7.5707      <tr>
  7.5708 -     <th><a class=property href="#clear">clear</a>
  7.5709 -
  7.5710 -     <td>none | left | right | both
  7.5711 -
  7.5712 -     <td>none
  7.5713 -
  7.5714 -     <td>block-level elements
  7.5715 -
  7.5716 -     <td>no
  7.5717 -
  7.5718 -     <td>N/A
  7.5719 -
  7.5720 -     <td>visual
  7.5721 -
  7.5722 -    <tr>
  7.5723       <th><a class=property href="#clear-after">clear-after</a>
  7.5724  
  7.5725       <td>none | left | right | top | bottom | inside | outside | start | end
  7.5726 @@ -7978,13 +8389,28 @@
  7.5727       <td>visual
  7.5728  
  7.5729      <tr>
  7.5730 +     <th><a class=property href="#clear">clear</a>
  7.5731 +
  7.5732 +     <td>none | left | right | both
  7.5733 +
  7.5734 +     <td>none
  7.5735 +
  7.5736 +     <td>block-level elements
  7.5737 +
  7.5738 +     <td>no
  7.5739 +
  7.5740 +     <td>N/A
  7.5741 +
  7.5742 +     <td>visual
  7.5743 +
  7.5744 +    <tr>
  7.5745       <th><a class=property href="#display0">display</a>
  7.5746  
  7.5747       <td>inline | block | inline-block | list-item | run-in | compact | table
  7.5748        | inline-table | table-row-group | table-header-group |
  7.5749        table-footer-group | table-row | table-column-group | table-column |
  7.5750        table-cell | table-caption | ruby | ruby-base | ruby-text |
  7.5751 -      ruby-base-group | ruby-text-group | align-box | none
  7.5752 +      ruby-base-group | ruby-text-group | container | none
  7.5753  
  7.5754       <td>inline
  7.5755  
  7.5756 @@ -7997,6 +8423,21 @@
  7.5757       <td>visual (‘none’ applies to all media)
  7.5758  
  7.5759      <tr>
  7.5760 +     <th><a class=property href="#float-displace">float-displace</a>
  7.5761 +
  7.5762 +     <td>line | indent | block | block-within-page
  7.5763 +
  7.5764 +     <td>line
  7.5765 +
  7.5766 +     <td>all block-level elements
  7.5767 +
  7.5768 +     <td>yes
  7.5769 +
  7.5770 +     <td>N/A
  7.5771 +
  7.5772 +     <td>visual
  7.5773 +
  7.5774 +    <tr>
  7.5775       <th><a class=property href="#float">float</a>
  7.5776  
  7.5777       <td>[ left | right | top | bottom | start | end | none |
  7.5778 @@ -8013,21 +8454,6 @@
  7.5779       <td>visual
  7.5780  
  7.5781      <tr>
  7.5782 -     <th><a class=property href="#float-displace">float-displace</a>
  7.5783 -
  7.5784 -     <td>line | indent | block | block-within-page
  7.5785 -
  7.5786 -     <td>line
  7.5787 -
  7.5788 -     <td>all block-level elements
  7.5789 -
  7.5790 -     <td>yes
  7.5791 -
  7.5792 -     <td>N/A
  7.5793 -
  7.5794 -     <td>visual
  7.5795 -
  7.5796 -    <tr>
  7.5797       <th><a class=property href="#height">height</a>
  7.5798  
  7.5799       <td>[&lt;length> | &lt;percentage>] && [border-box | content-box]? |
  7.5800 @@ -8047,8 +8473,7 @@
  7.5801      <tr>
  7.5802       <th><a class=property href="#indent-edge-reset">indent-edge-reset</a>
  7.5803  
  7.5804 -     <td>none | margin-edge | border-edge | padding-edge | content-edge |
  7.5805 -      inherit
  7.5806 +     <td>none | margin-edge | border-edge | padding-edge | content-edge
  7.5807  
  7.5808       <td>none
  7.5809  
  7.5810 @@ -8097,8 +8522,9 @@
  7.5811       <th><a class=property href="#max-width">max-width</a>, <a class=property
  7.5812        href="#max-height">max-height</a>
  7.5813  
  7.5814 -     <td>&lt;length&gt; | &lt;percentage&gt; | available | min-content |
  7.5815 -      max-content | fit-content | none
  7.5816 +     <td>[ [&lt;length&gt; | &lt;percentage&gt;] && [border-box |
  7.5817 +      content-box]? ] | available | min-content | max-content | fit-content |
  7.5818 +      none
  7.5819  
  7.5820       <td>none
  7.5821  
  7.5822 @@ -8115,8 +8541,8 @@
  7.5823       <th><a class=property href="#min-width">min-width</a>, <a class=property
  7.5824        href="#min-height">min-height</a>
  7.5825  
  7.5826 -     <td>&lt;length&gt; | &lt;percentage&gt; | available | min-content |
  7.5827 -      max-content | fit-content
  7.5828 +     <td>[ [&lt;length&gt; | &lt;percentage&gt;] && [border-box |
  7.5829 +      content-box]? ] | available | min-content | max-content | fit-content
  7.5830  
  7.5831       <td>0
  7.5832  
     8.1 --- a/css3-box/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
     8.2 +++ b/css3-box/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
     8.3 @@ -1,7 +1,13 @@
     8.4  <!doctype html public '-//W3C//DTD HTML 4.01//EN'>
     8.5  
     8.6 -<head profile="http://www.w3.org/2006/03/hcard
     8.7 -  http://microformats.org/wiki/rel-license">
     8.8 +<head profile="
     8.9 +http://microformats.org/profile/h-card
    8.10 +http://microformats.org/profile/hcard
    8.11 +http://microformats.org/profile/rel-license
    8.12 +">
    8.13 +
    8.14 +<!-- Note: the h-card profile is for a "microformats 2" vocabulary and
    8.15 +is experimental as of September 2012 -->
    8.16  
    8.17  <meta content="text/html; charset=utf-8" http-equiv=content-type>
    8.18  <title>CSS basic box model</title>
    8.19 @@ -29,17 +35,31 @@
    8.20  <h2 class="no-num no-toc">[LONGSTATUS] [DATE: 26 Sep 2006]</h2>
    8.21  <dl>
    8.22    <dt>This version:
    8.23 -    <dd><a href="[VERSION]">
    8.24 -	http://www.w3.org/TR/[YEAR]/ED-css3-box-[CDATE]</a>
    8.25 +
    8.26 +    <dd><a href="[VERSION]"
    8.27 +    >http://www.w3.org/TR/[YEAR]/ED-css3-box-[CDATE]</a>
    8.28 +
    8.29    <dt>Latest version:
    8.30 -    <dd><a href="http://www.w3.org/TR/css3-box">
    8.31 -	http://www.w3.org/TR/css3-box</a>
    8.32 +
    8.33 +    <dd><a href="http://www.w3.org/TR/css3-box"
    8.34 +    >http://www.w3.org/TR/css3-box</a>
    8.35 +
    8.36    <dt>Previous version:
    8.37 -    <dd><a href="http://www.w3.org/TR/2002/WD-css3-box-20021024">
    8.38 -	http://www.w3.org/TR/2002/WD-css3-box-20021024</a>
    8.39 +
    8.40 +    <dd><a href="http://www.w3.org/TR/2002/WD-css3-box-20021024"
    8.41 +    >http://www.w3.org/TR/2002/WD-css3-box-20021024</a>
    8.42 +
    8.43    <dt>Editors:
    8.44 -    <dd class=vcard><span class=fn>Bert Bos</span> (<span
    8.45 -    class=org>W3C</span>) <span class=email>bert@w3.org</span>
    8.46 +
    8.47 +    <dd class="h-card vcard"><a class="p-name fn u-url url" rel=author
    8.48 +    href="http://www.w3.org/People/Bos/" >Bert Bos</a>, <span
    8.49 +    class="p-org org" >W3C</span>, <a class="u-email email"
    8.50 +    href="mailto:bert@w3.org" >&lt;bert@w3.org&gt;</a>
    8.51 +
    8.52 +    <dd class="h-card vcard"><span class="p-name fn" >Anton
    8.53 +    Prowse</span>, <span class="p-org org" >Invited Expert</span>, <a
    8.54 +    class="u-email email" href="mailto:prowse@moonhenge.net"
    8.55 +    >&lt;prowse@moonhenge.net&gt;</a>
    8.56  </dl>
    8.57  <!--copyright-->
    8.58  <hr title="Separator for header">
    8.59 @@ -90,7 +110,6 @@
    8.60  
    8.61  
    8.62  <h2 class="no-num no-toc">Table of contents</h2>
    8.63 -
    8.64  <!--toc-->
    8.65  
    8.66  
    8.67 @@ -163,7 +182,10 @@
    8.68  
    8.69  <p class=note>Note: The model in this specification differs from the
    8.70  model described in the CSS level 2 specification [[!CSS21]], because
    8.71 -it is generalized to apply also to vertical text.
    8.72 +it is generalized to apply also to vertical text. A document using
    8.73 +only features from level 2 renders exactly as described there, (except
    8.74 +possibly for features that are undefined in that specification and
    8.75 +have become defined since).
    8.76  
    8.77  <p>CSS assumes that the document to lay out is modeled as a <span
    8.78  class=index title="tree!!of elements|document tree|element
    8.79 @@ -173,31 +195,68 @@
    8.80  list. Each child has one parent, except for the unique element that
    8.81  has no parent, which is called the <dfn>root element.</dfn>
    8.82  
    8.83 +<p class=note>Note that such a tree can be described in XML or SGML,
    8.84 +but also in other notations and that it is the definition of that
    8.85 +notation, not CSS, that determines the equivalence between the
    8.86 +abstract tree and the concrete notation. E.g., SGML often allows white
    8.87 +space to be added between elements for readability, which does not
    8.88 +result in a string of spaces in the abstract tree.
    8.89 +
    8.90  <p>CSS describes how each element and each string of text is laid out
    8.91  by transforming the document tree into a set of rectangular boxes,
    8.92  whose size, position, and stacking level on the <em>canvas</em> depend
    8.93  on their properties. We say that an element <dfn title="generated
    8.94 -box">generates</dfn> one or more boxes. There are <em>block-level</em>
    8.95 -boxes, <em title="line box">line boxes</em> and <em
    8.96 -title="inline-level">inline-level boxes.</em> A block-level box is
    8.97 -like a paragraph. A line box is like a line of text. Inline-level
    8.98 -boxes are like words inside a line.
    8.99 +box">generates</dfn> one or more boxes. There are numerous different
   8.100 +types of boxes. <span class=issue>[Or maybe only one? I.e., a
   8.101 +block-level box is just a normal box that happens to be generated by a
   8.102 +block-level element?]</span> A block box is like a paragraph; a line
   8.103 +box is like a single line of text; and inline boxes are like words
   8.104 +inside a line.
   8.105 +
   8.106 +<div class="issue">
   8.107 +<p>Define the <dfn title="box tree|tree!!of boxes" >box
   8.108 +tree.</dfn> (Is the space
   8.109 +between words a kind of box as well, or a spacer item? Is the current
   8.110 +selection a box? Is there a defined order among sibling boxes? If so,
   8.111 +are bidi inline boxes ordered in reading order or in visual order?)
   8.112 +
   8.113 +<p>[Define the box tree before pagination and then describe how
   8.114 +pagination can break one box into two?]
   8.115 +
   8.116 +<ul>
   8.117 +<li>If the parent element is a list item, the boxes go into the
   8.118 +parent's block box, not the marker box.
   8.119 +
   8.120 +<li>If the element is run-in, its boxes go either into a box of its
   8.121 +parent element, or into a box of a later sibling.
   8.122 +
   8.123 +<li>The order of sibling boxes is always such that boxes that belong
   8.124 +to elements earlier in the document come before boxes of elements that
   8.125 +come later in the document.
   8.126 +
   8.127 +<li>Note that 'position' can put a box into the box of an ancestor
   8.128 +(the one establishing the containing block) rather than a parent.
   8.129 +
   8.130 +<li>Note that 'flow' puts boxes into a named flow root.
   8.131 +</ul>
   8.132 +</div>
   8.133  
   8.134  <p>When the specification says a box <var>A</var> <dfn>contains</dfn>
   8.135 -a box <var>B</var>, then <var>B</var> is a box generated by an element
   8.136 -that is a descendant of the element that generated
   8.137 -<var>A</var>. Typically, box <var>B</var> is geometrically
   8.138 -contained in box <var>A</var> as well, but that need not be the case,
   8.139 -because of, e.g., overflow or negative margins.
   8.140 -
   8.141 -<p class=note>Note: The precise rules are below and in other modules, but in
   8.142 -summary, a block-level box contains either other block-level boxes (e.g., a
   8.143 -section containing paragraphs, or a table containing rows), or it contains
   8.144 -line boxes (e.g., a paragraph containing lines of text). A line box contains
   8.145 -inline-level boxes (e.g., a line with words in different styles). An
   8.146 -inline-level box may contain either text interspersed with more inline-level
   8.147 -boxes, or it may contain a block-level box (e.g., a small table that is
   8.148 -rendered inline).
   8.149 +a box <var>B</var> it means <var>B</var> is a child of <var>A</var> in
   8.150 +the <em>box tree.</em> Typically, box <var>B</var> is geometrically
   8.151 +contained within box <var>A</var> as well, but that need not be the
   8.152 +case, because of, e.g., overflow or negative margins.
   8.153 +
   8.154 +<p class=note>Note: The precise rules are below and in other modules,
   8.155 +but in summary, <span class=issue>[write something that helps convey
   8.156 +the idea of a flow, e.g.:]</span> a block-level box contains either other
   8.157 +block-level boxes (e.g., a section containing paragraphs, or a table
   8.158 +containing rows), or it contains line boxes (e.g., a paragraph
   8.159 +containing lines of text). A line box contains inline-level boxes
   8.160 +(e.g., a line with words in different styles). An inline-level box may
   8.161 +contain either text interspersed with more inline-level boxes, or it
   8.162 +may contain a block-level box (e.g., a small table that is rendered
   8.163 +inline).
   8.164  
   8.165  <div class=figure>
   8.166    <p><img src="box-intro.png" alt="Schematic representation of rel">
   8.167 @@ -214,11 +273,12 @@
   8.168   &lt;li&gt;The second item.
   8.169  &lt;/ul&gt;</pre>
   8.170  
   8.171 -<p>may result in one block-level box for the <code>ul</code> element,
   8.172 -containing two block-level boxes for the two <code>li</code> elements, each
   8.173 -of which has one line box (i.e., one line of text). Both line boxes contain
   8.174 -two inline-level boxes: one that contains the list bullet and one that
   8.175 -contains the text.
   8.176 +<p>may result in <span class=issue>[rewrite the following
   8.177 +sentence?]</span> one block-level box for the <code>ul</code> element,
   8.178 +containing two block-level boxes for the two <code>li</code> elements,
   8.179 +each of which has one line box (i.e., one line of text). Both line
   8.180 +boxes contain two inline-level boxes: one that contains the list
   8.181 +bullet and one that contains the text.
   8.182  
   8.183  <p>Note how the <code>li</code> is transformed into multiple boxes, including
   8.184  one that contains &ldquo;generated content,&rdquo; viz., the list bullet,
   8.185 @@ -226,32 +286,57 @@
   8.186  
   8.187  <p>If the document is rendered in a narrow window, it may be that the
   8.188  <code>li</code> elements get transformed into even more boxes, because the
   8.189 -text requires multiple lines. And if the document is rendered on paper, it
   8.190 +text requires multiple lines. And if the document is rendered on paper
   8.191 +or in multiple columns, it
   8.192  may be that a page break falls in the middle of the <code>ul</code> element,
   8.193  so that it is not transformed into a single block-level box, but into two
   8.194 -smaller ones, each on a different page.
   8.195 +smaller ones, each on a different page or column.
   8.196  </div>
   8.197  
   8.198  <p>Each box belongs to exactly one element. It is either <span
   8.199  title="generated box">generated</span> directly by the element, or it
   8.200 -is an <em>anonymous box</em> (defined below), which is inserted
   8.201 -because the layout rules of CSS require a box to contain a certain
   8.202 -kind of other box, but the boxes generated by the child elements are
   8.203 -not of that kind. The anonymous box is defined to belong to the
   8.204 -parent.
   8.205 -
   8.206 -<p class=note>Note: This is mainly important for <span
   8.207 -class=index>WYSIWYG document editors</span>: if the user selects a box
   8.208 -on the screen in order to set a property, the editor knows which
   8.209 -element to set the property on.
   8.210 -
   8.211 -<p>Properties are set on elements and influence how the element is turned
   8.212 -into boxes, but in this specification we refer interchangeably to &ldquo;the
   8.213 -<var>P</var> property of an element&rdquo; and &ldquo;the <var>P</var>
   8.214 -property of a box&rdquo; (both of which actually mean &ldquo;<em>the
   8.215 -value</em> of property <var>P</var> of&hellip;&rdquo;), unless it is
   8.216 -important to distinguish the box and the element, e.g., because the element
   8.217 -has several boxes and they don't all have the same value for the property.
   8.218 +is an <em>anonymous box,</em> which has been inserted to ensure that
   8.219 +every box and its parent are of mutually compatible types as defined
   8.220 +by the layout rules of CSS. An anonymous box is defined to belong to
   8.221 +whichever element generates the box's closest element-generated
   8.222 +ancestor box. When we need to be precise, we say that the anonymous
   8.223 +box is <dfn>induced,</dfn> rather than generated, by the element it
   8.224 +belongs to.
   8.225 +
   8.226 +<p class=note>For example, an anonymous table wrapper box that is
   8.227 +created around a table cell because the table cell element doesn't
   8.228 +have a table element as parent, belongs to the parent element of the
   8.229 +table cell, not to the table cell itself.
   8.230 +
   8.231 +<p class=note>An anonymous box is never a <em>principal</em>
   8.232 +box. Except for that, an anonymous box cannot be distinguished by its
   8.233 +property values and characteristics from a box generated by some
   8.234 +hypothetical document element. <span class=issue>Remove this note? Do
   8.235 +we actually use the concept of “principal box” anywhere?</span>
   8.236 +
   8.237 +<p>Properties are set on elements [[!CSS3CASCADE]] and influence how
   8.238 +the element is turned into boxes. Every box has the same properties
   8.239 +with the same values as the element to which it belongs, except for
   8.240 +anonymous boxes: inheritable properties on anonymous boxes have the
   8.241 +same value as the element, while non-inheritable properties have the
   8.242 +initial value. The only property that boxes do not have is the
   8.243 +'display' property. <span class=issue>[Actually, boxes are just
   8.244 +rectangles with a border, a background, a position, a bunch of other
   8.245 +boxes inside, and a reference to the element they belong to. They
   8.246 +don't really have properties. But it is convenient to say the “the box
   8.247 +has a font <var>X</var>” rather than the verbose “the element that
   8.248 +generated the box has a font <var>X</var>.”</span>
   8.249 +
   8.250 +<p>Boxes do not have specified values [[!CSS3CASCADE]], but they do
   8.251 +have computed, used and actual values.
   8.252 +
   8.253 +<p class=note>Boxes are frequently referred to by their property
   8.254 +values. For example, a “floated box” is a box whose computed value of
   8.255 +'float' is not ''none'', and a “positioned box” is a box whose
   8.256 +computed value of 'position' is not ''static''. However, terms such as
   8.257 +<em>block-level box,</em> <em>block container box</em> and <em>table
   8.258 +box</em> describe characteristics which cannot be deduced solely from
   8.259 +a box's property values.
   8.260  
   8.261  <div class=figure id=various>
   8.262    <p><img src="box.png" alt="Diagram of a typical box, showing the
   8.263 @@ -262,8 +347,11 @@
   8.264  
   8.265  <p>Boxes have padding, a border and margins (see the <a
   8.266  href="#various">figure</a>). Different properties determine the
   8.267 -thickness of each of these (which may be zero). The margins are also
   8.268 -subject to <em title="collapse">collapsing.</em>
   8.269 +thickness of each of these (which may be zero). The margins of
   8.270 +adjacent boxes are also subject to <em
   8.271 +title="collapse">collapsing</em> (i.e., the actual margin between
   8.272 +adjacent boxes may be less than the sum of the boxes' individual
   8.273 +margins).
   8.274  
   8.275  <p>Each box has a <dfn>content area</dfn> (a.k.a. <dfn>content
   8.276  box</dfn>). The rectangle that bounds this area is the <dfn>content
   8.277 @@ -276,9 +364,10 @@
   8.278  Finally, outside the border is the <dfn>margin area</dfn> and its
   8.279  outer edge is the <dfn>margin edge.</dfn>
   8.280  
   8.281 -<p>When the specification says that the padding or border is
   8.282 -&ldquo;absent&rdquo; on some side of the box, that actually means that its
   8.283 -thickness is zero.
   8.284 +<p>When the specification says that the padding or border is <dfn
   8.285 +title="absent|padding!!absent|border!!absent"
   8.286 +>&ldquo;absent&rdquo;</dfn> on some side of the box, that means that
   8.287 +its thickness is zero.
   8.288  
   8.289  <p><em title="line box">Line boxes</em> cannot have any padding,
   8.290  border or margin, and therefore their margin edge, border edge,
   8.291 @@ -291,14 +380,13 @@
   8.292  <p class=note>Note that the edges always form rectangles, even if
   8.293  there is a 'border-radius' [[CSS3BG]] or a shape [[CSS3-EXCLUSIONS]].
   8.294  
   8.295 -<p>A box or element is <dfn>horizontal</dfn> if its 'writing-mode'
   8.296 -property is ''horizontal-tb'', otherwise it is <dfn>vertical.</dfn>
   8.297 -The <dfn>orientation</dfn> of a box or element is the pair of values
   8.298 -of its 'writing-mode' and 'direction'
   8.299 +<p>We say that a box or element is <dfn>horizontal</dfn> if its
   8.300 +'writing-mode' property is ''horizontal-tb'', otherwise it is
   8.301 +<dfn>vertical.</dfn>
   8.302  
   8.303  <div class=note>
   8.304 -<p>Note that there are theoretically eight possible orientations, but
   8.305 -CSS only defines six:
   8.306 +<p>Note that there are theoretically eight possible orientations for
   8.307 +text, but CSS only defines six:
   8.308  
   8.309        <table class=equiv-table>
   8.310  	<thead>
   8.311 @@ -316,7 +404,7 @@
   8.312  		src="horizontal.png" alt="">
   8.313  	    <td>
   8.314  	      <p>Text is written top to bottom and paragraphs grow to
   8.315 -		the left <p><img class=small src="vertical-rl.png"
   8.316 +		the left <p><img class=small src="vertical.png"
   8.317  		alt="">
   8.318  	    <td>
   8.319  	      <p>Text is written top to bottom and paragraphs grow to
   8.320 @@ -326,22 +414,36 @@
   8.321  	    <th>'direction: rtl'
   8.322  	    <td>
   8.323  	      <p>Text is written from right to left and paragraphs
   8.324 -		grow downwards
   8.325 +		grow downwards <p><img class=small
   8.326 +		src="horizontal-rtl.png" alt="">
   8.327  	    <td>
   8.328  	      <p>Text is written bottom to top and paragraphs grow to
   8.329 -		the left
   8.330 +		the left <p><img class=small src="vertical-rtl.png"
   8.331 +		alt="">
   8.332  	    <td>
   8.333  	      <p>Text is written bottom to top and paragraphs grow to
   8.334 -		the right
   8.335 +		the right <p><img class=small src="vertical-lr-rtl.png"
   8.336 +		alt="">
   8.337        </table>
   8.338  
   8.339 -<p>There is no “horizontal-bt.”
   8.340 +<p>There is no “horizontal-bt.” More information about 'writing-mode'
   8.341 +and 'direction' can be found in [[!CSS3-WRITING-MODES]].
   8.342  </div>
   8.343  
   8.344 -<p>This specification sometimes refers to abstract edges
   8.345 -<dfn>head,</dfn> <dfn>end,</dfn> <dfn>tail</dfn> and <dfn>start,</dfn>
   8.346 -which are relative to the orientation of a box. They map to top,
   8.347 -right, bottom and left as follows:
   8.348 +<p class=mtb>Calculations of the size and position of boxes are
   8.349 +usually very similar for horizontal and vertical boxes, except that
   8.350 +the horizontal and vertical directions are interchanged. To avoid many
   8.351 +almost identical definitions, this specification therefore often uses
   8.352 +abstract terms instead of top, right, bottom, left, width and height:
   8.353 +four terms (head edge, foot edge, start edge and end edge) for the
   8.354 +four edges of a box, four terms (A edge, B edge, C edge and D edge)
   8.355 +for the edges of the children of a box and two terms (block dimension
   8.356 +and inline dimension for the width and height of a box.
   8.357 +
   8.358 +<p>The <dfn>head,</dfn> <dfn>foot,</dfn> <dfn>start</dfn> and
   8.359 +<dfn>end</dfn> edge of a box refer to the top, right, bottom and left
   8.360 +edges, depending on the 'writing-mode' and 'direction' properties of
   8.361 +that box, as follows:
   8.362  
   8.363      <table class=equiv-table>
   8.364        <thead>
   8.365 @@ -350,155 +452,97 @@
   8.366  	  <th>Value of 'direction'
   8.367  	  <th>Meaning of “head”
   8.368  	  <th>Meaning of “end”
   8.369 -	  <th>Meaning of “tail”
   8.370 +	  <th>Meaning of “foot”
   8.371  	  <th>Meaning of “start”
   8.372        <tbody>
   8.373 -	<tr><th>''horizontal-tb'' <th>''ltr''
   8.374 -	  <td>top <td>right <td>bottom <td>left
   8.375 -	<tr><th>''horizontal-tb'' <th>''rtl''
   8.376 -	  <td>top <td>left <td>bottom <td>right
   8.377 -	<tr><th>''vertical-rl'' <th>''ltr''
   8.378 -	  <td>right <td>bottom <td>left <td>top
   8.379 -	<tr><th>''vertical-rl'' <th>''rtl''
   8.380 -	  <td>right <td>top <td>left <td>bottom
   8.381 -	<tr><th>''vertical-lr'' <th>''rtl''
   8.382 -	  <td>left <td>bottom <td>right <td>top
   8.383 -	<tr><th>''vertical-lr'' <th>''ltr''
   8.384 -	  <td>left <td>top <td>right <td>bottom
   8.385 +	<tr><th rowspan=2>''horizontal-tb'' <th>''ltr''
   8.386 +	    <td>top <td>right <td>bottom <td>left
   8.387 +	<tr><!-- horizontal-tb --><th>''rtl''
   8.388 +	    <td>top <td>left <td>bottom <td>right
   8.389 +	<tr><th rowspan=2>''vertical-rl'' <th>''ltr''
   8.390 +	    <td>right <td>bottom <td>left <td>top
   8.391 +	<tr><!-- vertical-rl'' --><th>''rtl''
   8.392 +	    <td>right <td>top <td>left <td>bottom
   8.393 +	<tr><th rowspan=2>''vertical-lr'' <th>''rtl''
   8.394 +	    <td>left <td>bottom <td>right <td>top
   8.395 +	<tr><!-- vertical-lr --><th>''ltr''
   8.396 +	    <td>left <td>top <td>right <td>bottom
   8.397      </table>
   8.398  
   8.399 -<p>For example, the “head padding” by default refers to the
   8.400 +<p class=note>For example, the “head padding” by default refers to the
   8.401  'padding-top' and the “end border” is by default the 'border-right'.
   8.402  
   8.403 -<div class=issue>
   8.404 -<p>[Alternative terminology:]
   8.405 -
   8.406 -<p>This specification sometimes refers to abstract edges
   8.407 -<dfn>A,</dfn> <dfn>B,</dfn> <dfn>C</dfn> and <dfn>D,</dfn>
   8.408 -which are relative to the orientation of a box. They map to top,
   8.409 -right, bottom and left as follows:
   8.410 +<p>Similarly, the specification sometimes refers to the <dfn>inline
   8.411 +dimension</dfn> and <dfn>block dimension</dfn> of a box, instead of
   8.412 +width and height, as follows:
   8.413 +
   8.414 +  <table class=equiv-table>
   8.415 +   <tr>
   8.416 +    <th>'Writing mode'
   8.417 +    <th>Meaning of “inline dimension”
   8.418 +    <th>Meaning of “block dimension”
   8.419 +   <tr><td>''horizontal-tb'' <td>width <td>height
   8.420 +   <tr><td>''vertical-rl'' <td>height <td>width
   8.421 +   <tr><td>''vertical-lr'' <td>height <td>width
   8.422 +  </table>
   8.423 +
   8.424 +<p>These correspond to the dimensions in the <em>inline base
   8.425 +direction</em> and the <em>block flow direction,</em> respectively.
   8.426 +
   8.427 +<p>An alternative term for the inline dimension is <dfn title="logical
   8.428 +width|width!!logical" >logical width</dfn> and an alternative term for
   8.429 +block dimension is <dfn title="logical height|height!!logical"
   8.430 +>logical height.</dfn> These terms occasionally occur in other CSS
   8.431 +modules.
   8.432 +
   8.433 +<p class=note>The block dimension of a box is thus the distance
   8.434 +between the head and tail edges, while the inline dimension of the box
   8.435 +is the distance between the start and end edges.
   8.436 +
   8.437 +<p>When boxes are laid out in sequence to form a <em class=index
   8.438 +>flow</em> (see below), their edges play different roles in the
   8.439 +alignment of the boxes within that flow. The orientation of the flow
   8.440 +determines which edge of a box is aligned to which edge of another
   8.441 +box. These roles are independent of the orientation of the box
   8.442 +itself. We distinguish four roles for the edges of a box, called
   8.443 +<dfn>A edge,</dfn> <dfn>B edge,</dfn> <dfn>C edge</dfn> and <dfn>D
   8.444 +edge.</dfn> They depend on the 'writing-mode' and 'direction'
   8.445 +properties of the box's <em class=index >containing block</em>
   8.446 +(defined below), and map to the four sides as follows:
   8.447  
   8.448      <table class=equiv-table>
   8.449        <thead>
   8.450  	<tr>
   8.451 -	  <th>Value of 'writing-mode'
   8.452 -	  <th>Value of 'direction'
   8.453 +	  <th>'writing-mode' of <em>containing block</em>
   8.454 +	  <th>'direction' of <em>containing block</em>
   8.455  	  <th>Meaning of “A”
   8.456  	  <th>Meaning of “B”
   8.457  	  <th>Meaning of “C”
   8.458  	  <th>Meaning of “D”
   8.459        <tbody>
   8.460 -	<tr><th>''horizontal-tb'' <th>''ltr''
   8.461 +	<tr><th rowspan=2>''horizontal-tb'' <th>''ltr''
   8.462  	    <td>top <td>right <td>bottom <td>left
   8.463 -	<tr><th>''horizontal-tb'' <th>''rtl''
   8.464 +	<tr><!-- horizontal-tb --><th>''rtl''
   8.465  	    <td>top <td>left <td>bottom <td>right
   8.466 -	<tr><th>''vertical-rl'' <th>''ltr''
   8.467 +	<tr><th rowspan=2>''vertical-rl'' <th>''ltr''
   8.468  	    <td>right <td>bottom <td>left <td>top
   8.469 -	<tr><th>''vertical-rl'' <th>''rtl''
   8.470 +	<tr><!-- vertical-rl --><th>''rtl''
   8.471  	    <td>right <td>top <td>left <td>bottom
   8.472 -	<tr><th>''vertical-lr'' <th>''rtl''
   8.473 +	<tr><th rowspan=2>''vertical-lr'' <th>''rtl''
   8.474  	    <td>left <td>bottom <td>right <td>top
   8.475 -	<tr><th>''vertical-lr'' <th>''ltr''
   8.476 +	<tr><!-- vertical-lr --><th>''ltr''
   8.477  	    <td>left <td>top <td>right <td>bottom
   8.478      </table>
   8.479  
   8.480 -<p>For example, the “A padding” by default refers to the
   8.481 -'padding-top' and the “B border” is by default the 'border-right'.
   8.482 -</div>
   8.483 -
   8.484 -<p>Similarly, the specification sometimes refers to the
   8.485 -<dfn title="inline dimension">inline</dfn> and <dfn title="block flow
   8.486 -dimension">block flow</dfn> dimensions of a box, instead of width and
   8.487 -height, as follows:
   8.488 -
   8.489 -  <table class=equiv-table>
   8.490 -   <tr>
   8.491 -    <th>Writing mode
   8.492 -    <th>Meaning of “inline dimension”
   8.493 -    <th>Meaning of “block flow dimension”
   8.494 -   <tr><td><span>horizontal</span> <td>width <td>height
   8.495 -   <tr><td><span>vertical</span> <td>height <td>width
   8.496 -  </table>
   8.497 -
   8.498 -<p>These correspond to the dimensions in the <em>inline base
   8.499 -direction</em> and the <em>block flow direction,</em> respectively.
   8.500 -
   8.501 -<div class=issue>
   8.502 -<p>[Alternative terminology:]
   8.503 -
   8.504 -<p>Similarly, the specification sometimes refers to the <dfn>B-D</dfn>
   8.505 -and <dfn>A-C</dfn> dimensions of a box, instead of width and height,
   8.506 -as follows:
   8.507 -
   8.508 -  <table class=equiv-table>
   8.509 -   <tr>
   8.510 -    <th>Writing mode
   8.511 -    <th>Meaning of “B-D”
   8.512 -    <th>Meaning of “A-C”
   8.513 -   <tr><td><span>horizontal</span> <td>width <td>height
   8.514 -   <tr><td><span>vertical</span> <td>height <td>width
   8.515 -  </table>
   8.516 -
   8.517 -<p>These correspond to the dimensions in the <em>inline base
   8.518 -direction</em> and the <em>block flow direction,</em> respectively.
   8.519 -</div>
   8.520 -
   8.521 -<p>Finally, the <dfn>headside,</dfn> <dfn>endside,</dfn>
   8.522 -<dfn>tailside</dfn> and <dfn>startside</dfn> of a box are defined as
   8.523 -the sides that correspond to the <em>head,</em> <em>end,</em>
   8.524 -<em>tail</em> and <em>start,</em> of the <em>containing block</em> of
   8.525 -the box.
   8.526 -
   8.527 -<div class=example>
   8.528 -  <p>For example, if a box has a 'writing-mode' of ''horizontal-tb'',
   8.529 -  then its top content edge acts as its <em>head</em> content edge,
   8.530 -  and the <em>headside</em> edges of its children are therefore their
   8.531 -  top edges, independent of what their own 'writing-mode' is.
   8.532 -
   8.533 -  <div class=figure>
   8.534 -    <p><img src="headside" alt="[Figure: the “head content edge” of
   8.535 -    the child box the right edge, but the“headside content edge” is
   8.536 -    the top.]">
   8.537 -
   8.538 -    <p class=caption>The second child box is a vertical box and has
   8.539 -    its “head” content edge on the right. But its “headside” 
   8.540 -    content edge is at the top.
   8.541 -  </div>
   8.542 -</div>
   8.543 -
   8.544 -<div class=issue>
   8.545 -<p>[Alternative terminology:]
   8.546 -
   8.547 -<p>Finally, the <dfn>A&prime;,</dfn> <dfn>B&prime;,</dfn>
   8.548 -<dfn>C&prime;</dfn> and <dfn>D&prime;</dfn> sides of a box are defined
   8.549 -as the sides that correspond to the <em>A,</em> <em>B,</em> <em>C</em>
   8.550 -and <em>D</em> sides of the <em>containing block</em> of the box.
   8.551 -
   8.552 -<div class=example>
   8.553 -  <p>For example, if a box has a 'writing-mode' of ''horizontal-tb'',
   8.554 -  then its top content edge acts as its <em>A</em> content edge, and
   8.555 -  the <em>A&prime;</em> edges of its children are therefore their top
   8.556 -  edges, independent of what their own 'writing-mode' is.
   8.557 -
   8.558 -  <div class=figure>
   8.559 -    <p><img src="headside" alt="[Figure: the “A content edge” of
   8.560 -    the child box the right edge, but the “A&prime; content edge” is
   8.561 -    the top.]">
   8.562 -
   8.563 -    <p class=caption>The second child box is a vertical box and has
   8.564 -    its “A” content edge on the right. But its “A&prime;” content edge
   8.565 -    is at the top.
   8.566 -  </div>
   8.567 -</div><!-- /figure -->
   8.568 -</div><!-- /example -->
   8.569 -</div><!-- /issue -->
   8.570 -
   8.571 -<p class=issue>Check terms. At Cambridge ftf Aug 2008 we chose:
   8.572 -Property name: block-flow with values tb | lr | rl | bt. Descriptive
   8.573 -terms: horizontal mode (= tb &amp; bt), vertical mode (= lr &amp;
   8.574 -rl). The May 2012 Writing Modes module now has 'writing-mode' with
   8.575 -values ''horizontal-tb'', ''vertical-rl'' and ''vertical-lr'' (and no
   8.576 -''bt'' anymore).
   8.577 +<p class=note>For example, block-level boxes in a flow are laid out
   8.578 +such that the A edge of the first box is against the head edge of the
   8.579 +containing block and then the A edge of each subsequent box is put
   8.580 +against the C edge of its predecessor. For typical English text (i.e.,
   8.581 +<em>horizontal</em> text), this means the top edge (= A edge) of the
   8.582 +first paragraph is at the top edge (= head edge) of the document, the
   8.583 +top (A edge) of the second paragraph is against the bottom (C edge) of
   8.584 +the first paragraph, and so on, until the bottom (C edge) of the last
   8.585 +paragraph becomes the bottom (tail edge) of the document.
   8.586  
   8.587  
   8.588  
   8.589 @@ -522,116 +566,171 @@
   8.590  
   8.591  
   8.592  
   8.593 -<h2>Aspect ratios of replaced elements</h2>
   8.594 -
   8.595 -<p>For the purposes of the width and height calculations below, CSS
   8.596 -distinguishes four kinds of <em title="replaced element"
   8.597 -class=index>replaced elements</em>:
   8.598 -
   8.599 -<dl>
   8.600 -<dt>Type 1: replaced elements with both <em class=index>intrinsic
   8.601 -width</em> and <em class=index>intrinsic height.</em> <dd>These are
   8.602 -replaced elements that are meant to be displayed with a certain fixed
   8.603 -factor (the <em>intrinsic ratio</em>) between their width and height
   8.604 -and also have a default size. Different formats may have different
   8.605 -ways of specifying the size, e.g., a width and a ratio, or a raster
   8.606 -and a resolution in dots per inch. Raster images fall in this
   8.607 -category.
   8.608 -
   8.609 -<dt>Type 2: replaced elements with only an <em>intrinsic ratio</em>
   8.610 -<dd>These are replaced elements that are meant to be displayed with a
   8.611 -certain fixed factor between their width and height, but without a
   8.612 -default size. <span class=index>SVG</span> images often fall in the
   8.613 -this category.
   8.614 -
   8.615 -<dt>Type 3: replaced elements with a <dfn>complex aspect ratio</dfn>
   8.616 -<dd>These are replaced elements that do not have a <em>fixed</em>
   8.617 -ratio between their width and height, but that do have a functional
   8.618 -relation between them in the sense that for every width there is a
   8.619 -unique height. HTML documents are examples of this: the width can be
   8.620 -chosen freely, but at every width there is a definite intrinsic
   8.621 -height.
   8.622 -
   8.623 -<dt>Type 4: replaced elements without an intrinsic ratio <dd>These are
   8.624 -replaced elements that have no relation between their width and
   8.625 -height. Certain <span class=index>SVG</span> images are examples of
   8.626 -this.
   8.627 -</dl>
   8.628 -
   8.629 -<p>For <span class=index>raster images</span> without reliable
   8.630 -resolution information, a size of 1 px unit per image source pixel
   8.631 -must be assumed. These images thus are of type 1.
   8.632 +<h2>Flows</h2>
   8.633 +
   8.634 +<p>The <dfn>flow</dfn> (sometimes called <dfn>normal flow</dfn>) is
   8.635 +one of the two basic kinds of layout in CSS, together with line layout
   8.636 +[[CSS3LINE]]. It can be used, e.g., to layout a sequence of
   8.637 +paragraphs, headings, lists and floated elements in a single
   8.638 +column. Other CSS modules, such as tables [[CSS3TBL]], positioning
   8.639 +[[CSS3POS]], flex boxes [[CSS3-FLEXBOX]] and grid templates
   8.640 +[[CSS3LAYOUT]], build on the flow model by defining ways to split a
   8.641 +document into more than one flow and positioning and aligning those
   8.642 +flows in various ways on the canvas.
   8.643 +
   8.644 +<p>A flow is constructed starting from a <span class=index title="flow
   8.645 +root!!box" >box</span> called the <dfn>flow root</dfn> by the <a
   8.646 +href="#construct-flow">rules below.</a> We say the flow is
   8.647 +<dfn>channeled</dfn> by the flow root.
   8.648 +
   8.649 +<p>The <dfn title="initial flow|flow!!initial" >initial flow</dfn> is
   8.650 +the flow that contains the root of the box tree.
   8.651 +
   8.652 +<p>Despite not being a box, the <em>initial containing block</em> is
   8.653 +said to be the flow root of the initial flow.
   8.654 +
   8.655 +<p class=issue id=pagination-issue>How do we model pagination? If a
   8.656 +flow is broken over two pages or columns, do we call it a single flow
   8.657 +or two flows? I.e., is the page box the flow root of the flow, or is
   8.658 +the page box something else, more like the viewport, which influences
   8.659 +the layout of a flow but isn't part of it?
   8.660 +
   8.661 +<p>Only <em title="block container box" >block container boxes</em>
   8.662 +(defined below) can be flow roots. (Which implies that the children of
   8.663 +a flow root are laid out in a <em>block formatting context.</em>)
   8.664 +
   8.665 +<p>Several (combinations of) properties cause an element to generate
   8.666 +boxes that are flow roots. This module defines a few. Other modules
   8.667 +may define more.
   8.668 +
   8.669 +<div class=note>
   8.670 +<p>For example, this module defines that any of the following make a
   8.671 +box into a flow root:
   8.672 +<ul>
   8.673 +  <li>The value of 'float' is not 'none'.
   8.674 +
   8.675 +  <li>The used value of 'overflow' is not 'visible'.
   8.676 +
   8.677 +  <!-- <li>The box is a table wrapper, a table cell, an inline block, or an
   8.678 +  align box. -->
   8.679 +
   8.680 +  <!-- <li>The value of 'position' is 'absolute' or 'fixed' (see
   8.681 +  [CSS3POS]). -->
   8.682 +
   8.683 +  <li>The box is vertical and its parent is horizontal. <span
   8.684 +  class=issue>[Add link to the relevant section.]</span>
   8.685 +
   8.686 +  <li>The box is horizontal and its parent is vertical.
   8.687 +
   8.688 +  <!-- <li>The value of 'transform' is not 'none'. -->
   8.689 +
   8.690 +  <li>The value of 'child-align' is not 'auto'. <span class=issue>[If
   8.691 +  'child-align' is adopted, rather than, say, 'margin: fill']</span>
   8.692 +</ul>
   8.693 +
   8.694 +<p>The table layout module [[CSS3TBL]] defines that a table cell
   8.695 +generates a box that is a flow root; the positioning module
   8.696 +[[CSS3POS]] defines that an absolutely positioned element generates a
   8.697 +flow root; the grid template module [[CSS3LAYOUT]] defines that a
   8.698 +template element generate several flow roots; and the transforms
   8.699 +module [[CSS3-TRANSFORMS]] defines that an element with a transform
   8.700 +generates a flow root
   8.701 +</div>
   8.702 +
   8.703 +<p class=mtb id=construct-flow>The flow of a given <em>flow root</em>
   8.704 +is a set of boxes. A box belongs to the flow if all of the following
   8.705 +are true:
   8.706 +<ol>
   8.707 +  <li>The used value of its 'display' is ''block'', ''list-item'' or
   8.708 +  ''table''.
   8.709 +
   8.710 +  <li>The used value of its 'float' is ''none''.
   8.711 +
   8.712 +  <li>The used value of its 'position' is ''static'' or ''relative''.
   8.713 +
   8.714 +  <li>It is either a child of the flow root or a child of a box that
   8.715 +  belongs to the flow.
   8.716 +</ol>
   8.717 +
   8.718 +<p class=note>Note that the flow root is itself not part of the flow
   8.719 +it channels and that each flow root channels at most one flow.
   8.720 +
   8.721 +<p class=note>Note that the last rule above implies that a flow with
   8.722 +its flow root together are always a connected subset of the box
   8.723 +tree. In other words; together, they form a subtree of the box tree
   8.724 +with possibly some branches removed.
   8.725 +
   8.726 +<p class=note>Note that the element tree and the box tree are not
   8.727 +necessarily parallel: the element a box belongs to need not be the
   8.728 +child of the element that generated the box's parent. E.g., run-in
   8.729 +elements may generate boxes that become children of boxes from sibling
   8.730 +elements; and the 'flow' property [[CSS3LAYOUT]] and the 'position'
   8.731 +property [[CSS3POS]] may cause an element to generate a box that
   8.732 +becomes the child of a box from a grandparent or other ancestor
   8.733 +element. E.g., 'DIV {flow: b}' (see [[CSS3LAYOUT]]) makes the DIV
   8.734 +generate boxes that become children of the box generated by slot b in
   8.735 +some ancestor. And 'DIV {position: absolute}' causes the DIV to
   8.736 +generate a box that becomes a child of the box generated by the
   8.737 +ancestor that established the DIV's <em>containing block.</em>
   8.738  
   8.739  <div class=example>
   8.740 -<p>E.g., in the section on <a href="#inline-replaced">inline replaced
   8.741 -elements,</a> if the replaced element is an HTML document and the
   8.742 -height is specified as ''auto'', e.g.:
   8.743 -<pre>
   8.744 -... &lt;object data="example.html"
   8.745 -      style="width: 30em; height: auto">&lt;/object>...
   8.746 -</pre>
   8.747 -<p>then the used height will be 150px, which is unlikely to be the
   8.748 -real height of the example.html document. But if the height is
   8.749 -specified as ''complex'', e.g.:
   8.750 -<pre>
   8.751 -... &lt;object data="example.html"
   8.752 -      style="width: 30em; height: complex">&lt;/object>...
   8.753 -</pre>
   8.754 -<p>then the height will be the height the example.html document
   8.755 -normally has when displayed on its own with the given width. This
   8.756 -enables almost seamless integration of external text in a document,
   8.757 -without a scrollbar or similar. (The external text is still displayed
   8.758 -with its own style sheet.)
   8.759 +<p>For example, the fragment
   8.760 +<pre>&lt;div class=sidebar&gt;
   8.761 + &lt;p&gt;Text in a sidebar.
   8.762 + &lt;p&gt;Here is quote:
   8.763 + &lt;blockquote lang=ja&gt;
   8.764 +  &lt;p&gt;...
   8.765 + &lt;/blockquote&gt;
   8.766 + &lt;p&gt;Etc. etc.
   8.767 +&lt;/div&gt; </pre>
   8.768 +
   8.769 +<p>with the style
   8.770 +<pre>div.sidebar { writing-mode: tb; float: left }
   8.771 +blockquote[lang|=ja] { writing-mode: rl; height: 10em }</pre>
   8.772 +
   8.773 +<p>defines two flows:
   8.774 +<ol>
   8.775 +  <li>The <code>div</code> is a flow root, because it floats. Its flow
   8.776 +  consist of the 1st, 2nd and 4th <code>p</code> and the
   8.777 +  <code>blockquote</code>.
   8.778 +
   8.779 +  <li>The <code>blockquote</code> is a <em>vertical</em> box inside a
   8.780 +  <em>horizontal</em> parent and it is thus a flow root. Its flow is
   8.781 +  formed by the 3rd <code>p</code>.
   8.782 +</ol>
   8.783 +<p>(The <code>div</code> itself belongs to a third flow, but its flow
   8.784 +root is not shown in the fragment.)
   8.785  </div>
   8.786  
   8.787 -<div class=example>
   8.788 -<p>An (external) mathematical formula in MathML is an example of
   8.789 -replaced content with an intrinsic width and height. Assume the file m.mml
   8.790 -contains a formula, then the HTML fragment
   8.791 -
   8.792 -<pre>
   8.793 -... derive &lt;img src="m.mml"
   8.794 -alt="that the sum of p(i) for i greater than 0 equals N">
   8.795 -for the case...
   8.796 -</pre>
   8.797 -
   8.798 -<p>renders the formula at its intrinsic size.
   8.799 -</div>
   8.800 -
   8.801 -<p class=issue>The mathematical formula would however benefit from a
   8.802 -way to negotiate available space against intrinsic size, or even
   8.803 -negotiate available space against the number of boxes, so that the
   8.804 -formula could be broken in two or more boxes and occupy space on two
   8.805 -or more lines (similar to how lines of text are broken or words are
   8.806 -hyphenated). But an easier solution might be to extend HTML with
   8.807 -native support for math and CSS with math boxes, so that replaced
   8.808 -elements remain single boxes.
   8.809 -
   8.810 -
   8.811 -
   8.812 -<h2>Basic flow layout</h2>
   8.813 -
   8.814 -<p>As described in the introduction, elements give rise to boxes and
   8.815 -those boxes are laid out on a <em>canvas.</em> Different kinds of
   8.816 -boxes are laid out differently. This section describes the layout of
   8.817 -one <em>flow</em> of boxes.
   8.818 -
   8.819 -<p>The approximate model for the layout of a flow of boxes is that
   8.820 -sibling boxes are laid out one after the other in one long series with
   8.821 -margins between them and parent boxes tightly wrap the series of child
   8.822 -boxes. The 'writing-mode' property of the parent determines if that series
   8.823 -grows down (''tb''), to the left (''rl''), to the right (''lr'') or up
   8.824 -(''bt''). Although the rules below depend on terms that are only
   8.825 -defined further down, the rules are given at the outset, to provide at
   8.826 -least an approximate model of how boxes are positioned relative to one
   8.827 -another.
   8.828 -
   8.829 -<p>The following rules define the position of <em>block-level</em>
   8.830 -boxes relative to the box that is their <em>flow root.</em> Other
   8.831 -sections and other modules describe how other boxes are laid out. 
   8.832 -E.g., floating boxes are described further down in this module and
   8.833 -absolutely positioned boxes are described in the Absolute Positioning
   8.834 -module [[CSS3POS]].
   8.835 +<p class=note>Note that a flow root is not necessarily block-level, it may
   8.836 +be an ''inline-block'', e.g.
   8.837 +
   8.838 +<p class=note>Note that a box belongs to at most one flow. (Some boxes
   8.839 +do not belong to any flow, because they are part of a different kind of
   8.840 +layout, such as table layout.)
   8.841 +
   8.842 +<p>An element that generates a flow root box is itself also called a
   8.843 +<span class=index title="flow root!!element">flow root.</span>
   8.844 +
   8.845 +<p class=note>Note: The terminology in the CSS level 2 specification
   8.846 +is different. A flow root is called “an element that establishes a
   8.847 +<span class=index title="formatting context|new formatting
   8.848 +context">new formatting context.</span>”
   8.849 +
   8.850 +<p class=note>A consequence of this terminology is that an
   8.851 +<em>element,</em> unlike a box, can be the flow root of several
   8.852 +flows. E.g., template elements [[CSS3LAYOUT]] generate several flow
   8.853 +root boxes. Depending on what properties are set on a list item and on
   8.854 +its marker pseudo-element, a list item can also generate zero, one or
   8.855 +two flow roots.
   8.856 +
   8.857 +<!--
   8.858 +<p class=mtb>The following rules define the position of
   8.859 +<em>block-level</em> boxes relative to the box that is their <em>flow
   8.860 +root.</em> Other sections and other modules describe how other boxes
   8.861 +are laid out. E.g., floating boxes are described further down in this
   8.862 +module and absolutely positioned boxes are described in the Absolute
   8.863 +Positioning module [[CSS3POS]].
   8.864  
   8.865  <p>Before applying these rules, the width, height and margins of each
   8.866  box must be computed as described in the sections <a
   8.867 @@ -645,28 +744,24 @@
   8.868      <ol>
   8.869        <li>
   8.870          <p>If none of its margins <span>collapse</span> with its
   8.871 -        parent's <span>head</span> margin and the box is
   8.872 -        not <span>collapsed through,</span> then the box is placed
   8.873 -        such that the box's <span>headside</span> <span>margin
   8.874 -        edge</span> touches the
   8.875 -        parent's <span>head</span> <span>content edge</span>,
   8.876 -        the <span>startside</span> <span>margin edge</span> touches
   8.877 -        the parent's <span>start</span> <span>content edge</span> and
   8.878 -        the <span>endside</span> <span>margin edge</span> touches the
   8.879 -        parent's <span>end</span> <span>content edge.</span>
   8.880 -
   8.881 -        <p class=issue>[Add illustration.]
   8.882 -
   8.883 -        <p class=issue>[Alternative terminology:] If none of its
   8.884 -	margins <span>collapse</span> with its parent's <span>A</span>
   8.885 -	margin and the box is not <span>collapsed through,</span> then
   8.886 -	the box is placed such that the box's <span>A&prime;</span>
   8.887 -	<span>margin edge</span> touches the parent's <span>A</span>
   8.888 -	<span>content edge</span>, the <span>D&prime;</span>
   8.889 -	<span>margin edge</span> touches the parent's <span>D</span>
   8.890 -	<span>content edge</span> and the <span>B&prime;</span>
   8.891 -	<span>margin edge</span> touches the parent's <span>B</span>
   8.892 -	<span>content edge.</span>
   8.893 +        parent's <span>head</span> margin and the box is not
   8.894 +        <span>collapsed through,</span> then the box is placed such
   8.895 +        that the box's margin <span>A edge</span> coincides with the
   8.896 +        parent's <span>head</span> <span>content edge</span>, the
   8.897 +        margin <span>D edge</span> touches the parent's
   8.898 +        <span>start</span> <span>content edge</span> and the margin
   8.899 +        <span>B edge</span> touches the parent's <span>end</span>
   8.900 +        <span>content edge.</span>
   8.901 +
   8.902 +	<div class=figure>
   8.903 +	  <p><img src="flow1.png" alt="For example:">
   8.904 +
   8.905 +	  <p class=caption>In a <em>horizontal</em> <em>containing
   8.906 +	  block,</em> the top edge (<em>head</em> edge) is used to
   8.907 +	  position the top edge (<em>A edge</em>) of the first
   8.908 +	  block-level box. Its left and right edges coincide with the
   8.909 +	  left and right edges of the block-level box.
   8.910 +	</div>
   8.911  
   8.912        <li>
   8.913          <p>If none of its margins <span>collapse</span> with its
   8.914 @@ -683,28 +778,27 @@
   8.915          as floating or absolutely positioned children.
   8.916  
   8.917        <li>
   8.918 -        <p>If exactly one of its margins collapses with its
   8.919 -        parent's <span>head</span> margin, then the box is placed such
   8.920 -        that the box's <span>headside</span> <span>border edge</span>
   8.921 -        touches the parent's <span>head</span> <span>content
   8.922 -        edge,</span> the <span>startside</span> <span>margin
   8.923 -        edge</span> touches the
   8.924 -        parent's <span>start</span> <span>content edge</span> and
   8.925 -        the <span>endside</span> <span>margin edge</span> touches the
   8.926 -        parent's <span>end</span> <span>content edge.</span>
   8.927 +        <p>If its <span title="A edge">A</span> margin collapses with
   8.928 +        its parent's <span>head</span> margin, then the box is placed
   8.929 +        such that the <span>A edge</span> of the box's border touches
   8.930 +        the parent's <span>head</span> <span>content edge,</span> the
   8.931 +        <span>D edge</span> of the box's margin touches the parent's
   8.932 +        <span>start</span> <span>content edge</span> and the <span>B
   8.933 +        edge</span> of the box's margin touches the parent's
   8.934 +        <span>end</span> <span>content edge.</span>
   8.935  
   8.936          <p class=issue>[Add illustration.]
   8.937  
   8.938        <li>
   8.939 -        <p>If two of its margins collapse with its
   8.940 -        parent's <span>head</span> margin, then its position is such
   8.941 -        that its <span>content edge</span> (which is also
   8.942 -        its <span>border edge</span>) touches its
   8.943 -        parent's <span>head</span> <span>border edge</span> and that
   8.944 -        its <span>startside</span> <span>margin edge</span> touches
   8.945 -        its parent's <span>start</span> <span>content edge</span> and
   8.946 -        its <span>endside</span> <span>margin edge</span> touches the
   8.947 -        parent's <span>end</span> <span>content edge.</span>
   8.948 +        <p>If two of its margins collapse with its parent's
   8.949 +        <span>head</span> margin, then its position is such that its
   8.950 +        <span>content edge</span> (which is also its <span>border
   8.951 +        edge</span>) touches its parent's <span>head</span>
   8.952 +        <span>border edge</span> and that the <span>D edge</span> of
   8.953 +        its margin touches its parent's <span>start</span>
   8.954 +        <span>content edge</span> and the <span>B edge</span> of its
   8.955 +        margin touches the parent's <span>end</span> <span>content
   8.956 +        edge.</span>
   8.957  
   8.958          <p class=note>Note that the box is effectively invisible, but
   8.959          the edges have to be defined to position any descendants.
   8.960 @@ -716,11 +810,14 @@
   8.961      <ol>
   8.962        <li>
   8.963          <p>If the box is not <span>collapsed through,</span> it is
   8.964 -        positioned such that its <span>margin edge</span> touches the
   8.965 -        parent's <span>start</span> <span>content edge</span>
   8.966 -        and <span>end</span> <span>content edge</span> and such that
   8.967 -        its content edge on the touches
   8.968 -        the <span class=issue>[...]</span>
   8.969 +        positioned such that the <span>D edge</span> of its margin
   8.970 +        touches the parent's <span>start</span> <span>content
   8.971 +        edge,</span> the <span>B edge</span> of its margin touches the
   8.972 +        parent's <span>end</span> <span>content edge</span> and the
   8.973 +        <span>A edge</span> of its border box is at a distance from
   8.974 +        the <span>C edge</span> of the preceding sibling's border box
   8.975 +        equal to the combined thickness of the margins that collapse
   8.976 +        at that edge.
   8.977  
   8.978      <li>
   8.979        <p>A box that has a preceding sibling in the same flow and that
   8.980 @@ -728,7 +825,7 @@
   8.981        through,</span> <span class=issue>[...]</span>
   8.982    </ol>
   8.983  </ul>
   8.984 -
   8.985 +-->
   8.986  
   8.987  
   8.988  <h2>Types of boxes</h2>
   8.989 @@ -740,20 +837,22 @@
   8.990  <h3 id=display>The display property</h3>
   8.991  
   8.992  <table class="propdef">
   8.993 -  <tr><td>Name: <td><dfn>display</dfn>
   8.994 -  <tr><td>Value: <td>inline | block | inline-block | list-item |
   8.995 +  <tr><th>Name: <td><dfn>display</dfn>
   8.996 +  <tr><th>Value: <td>inline | block | inline-block | list-item |
   8.997      run-in | compact | table | inline-table | table-row-group |
   8.998      table-header-group | table-footer-group | table-row |
   8.999      table-column-group | table-column | table-cell | table-caption |
  8.1000      ruby | ruby-base | ruby-text | ruby-base-group | ruby-text-group |
  8.1001 -    align-box | none
  8.1002 -  <tr><td>Initial: <td>inline
  8.1003 -  <tr><td>Applies to:<td>all elements
  8.1004 -  <tr><td>Inherited: <td>no
  8.1005 -  <tr><td>Percentages: <td>N/A
  8.1006 -  <tr><td>Media: <td>visual (''none'' applies to all media)
  8.1007 -  <tr><td>Computed value: <td>specified value, except for floats, root
  8.1008 +    container | none
  8.1009 +  <tr><th>Initial: <td>inline
  8.1010 +  <tr><th>Applies to:<td>all elements
  8.1011 +  <tr><th>Inherited: <td>no
  8.1012 +  <tr><th>Animatable: <td>no
  8.1013 +  <tr><th>Percentages: <td>N/A
  8.1014 +  <tr><th>Media: <td>visual (''none'' applies to all media)
  8.1015 +  <tr><th>Computed value: <td>specified value, except for floats, root
  8.1016      elements and positioned elements; see text
  8.1017 +  <tr><th>Canonical order: <td>N/A
  8.1018  </table>
  8.1019  
  8.1020  <p class=issue>There is an old proposal to split 'display' into
  8.1021 @@ -776,29 +875,39 @@
  8.1022  The values are as follows:
  8.1023  
  8.1024  <dl>
  8.1025 -  <dt>inline <dd>Inline boxes.
  8.1026 -
  8.1027 -  <dt>block <dd>Block boxes.
  8.1028 -
  8.1029 -  <dt>inline-block <dd>A block box, which itself is flowed as a single
  8.1030 -  inline box, similar to a replaced element. The inside of an
  8.1031 +  <dt>inline <dd>One or more <em>inline-level,</em> <em>inline
  8.1032 +  container</em> boxes. (There may be more than one, e.g., if the
  8.1033 +  element is broken over two lines or if bidi reordering causes some
  8.1034 +  of the text in the content to be displayed after the text of some
  8.1035 +  other element.)
  8.1036 +
  8.1037 +  <dt>block <dd>One or more <em>block-level,</em> <em>block
  8.1038 +  container</em> boxes. (There may be more than one box, e.g., if the
  8.1039 +  element is broken over two columns or pages.)
  8.1040 +
  8.1041 +  <dt>inline-block <dd>An <em>atomic,</em> <em>inline-level,</em>
  8.1042 +  <em>block container</em> box. (In other words: the inside of an
  8.1043    inline-block is formatted as a block box, and the box itself is
  8.1044 -  formatted as an inline box.
  8.1045 -
  8.1046 -  <dt>list-item <dd>One or more block boxes and one marker box. Marker
  8.1047 +  formatted as an inline box.) The box is a <em>flow root.</em>
  8.1048 +
  8.1049 +  <dt>list-item <dd>One or more <em>block-level,</em> <em>block
  8.1050 +  container</em> boxes and an optional marker box. Marker
  8.1051    boxes are defined in the Lists module [[CSS3LIST]]. <span
  8.1052    class=issue>If the Lists module is not ready, define the position of
  8.1053    the marker and the list-style property here? Or refer to CSS 2.1
  8.1054    instead?</span>
  8.1055  
  8.1056 -  <dt>run-in <dd>Either block or inline boxes, depending on context
  8.1057 -  (see <a href="#run-in-boxes">Run-in boxes</a>). Properties apply to
  8.1058 -  run-in boxes based on their final status (<span>inline-level</span>
  8.1059 -  or <span>block-level</span>).
  8.1060 -
  8.1061 -  <dt>compact <dd>Either block boxes or a marker box, depending on
  8.1062 -  context (see <a href="#compact-boxes">Compact boxes</a>). Properties
  8.1063 -  apply to compact boxes based on their final status.
  8.1064 +  <dt>run-in <dd>Either one or more <em>block-level,</em> <em>block
  8.1065 +  container</em> boxes, or one or more <em>inline-level,</em>
  8.1066 +  <em>inline container</em> boxes, depending on context (see <a
  8.1067 +  href="#run-in-boxes">Run-in boxes</a>). Properties apply to run-in
  8.1068 +  boxes based on their final status (<span>inline-level</span> or
  8.1069 +  <span>block-level</span>).
  8.1070 +
  8.1071 +  <dt>compact <dd>Either one or more <em>block-level,</em> <em>block
  8.1072 +  container</em> boxes or a single marker box, depending on context
  8.1073 +  (see <a href="#compact-boxes">Compact boxes</a>). Properties apply
  8.1074 +  to compact boxes based on their final status.
  8.1075  
  8.1076    <dt>table, inline-table, table-row-group, table-header-group,
  8.1077    table-footer-group, table-row, table-column-group, table-column,
  8.1078 @@ -807,7 +916,7 @@
  8.1079    <dt>ruby, ruby-base, ruby-text, ruby-base-group, ruby-text-group
  8.1080    <dd>See the Ruby module [[CSS3RUBY]].
  8.1081  
  8.1082 -  <dt>align-box <span class=issue>or container?</span> <dd>Like
  8.1083 +  <dt>container <span class=issue>or align-box?</span> <dd>Like
  8.1084    ''block'', but forces the element to be a <em>flow root,</em>,
  8.1085    which, e.g., stops its margins from collapsing with margins of child
  8.1086    elements and includes floating children in its
  8.1087 @@ -829,14 +938,14 @@
  8.1088  an element to generate boxes that affect formatting but are not
  8.1089  visible themselves.
  8.1090  
  8.1091 -<p class=note>Note that both 'clear-after' and ''align-box'' can be
  8.1092 +<p class=note>Note that both 'clear-after' and ''container'' can be
  8.1093  used to force the next element after this one to start after any
  8.1094  floats inside this element, but the effect is not exactly the same.
  8.1095 -E.g., 'display: box' also affects certain forms of margin
  8.1096 +E.g., 'display: container' also affects certain forms of margin
  8.1097  collapsing.
  8.1098  
  8.1099 -<p class=note>Note that 'vertical-al ign' applies to ''align-box''
  8.1100 -elements, hence the name. The 'vertical-align' property doesn't apply
  8.1101 +<p class=note>Note that 'vertical-align' applies to ''container''
  8.1102 +elements. The 'vertical-align' property doesn't apply
  8.1103  to other block-level elements, except ''table-cell'' elements.
  8.1104  
  8.1105  <p class=issue>Any sense in vertically spreading out the contents,
  8.1106 @@ -846,7 +955,7 @@
  8.1107  ''top-box'', ''middle-box'' and ''bottom-box''?
  8.1108  
  8.1109  <div class=example>
  8.1110 -<p>The 'vertical-align' property applies to ''align-box''
  8.1111 +<p>The 'vertical-align' property applies to ''container''
  8.1112  elements <span class=issue>[check in [[!CSS3TEXT]]!]</span>, and can
  8.1113  thus be used to create vertically centered content, without wrapping
  8.1114  the content in a table (which may not be always possible, and also
  8.1115 @@ -854,7 +963,7 @@
  8.1116  
  8.1117  <pre>
  8.1118  div.slide {
  8.1119 -  display: align-box;
  8.1120 +  display: container;
  8.1121    height: 15em;
  8.1122    vertical-align: middle;
  8.1123    border: thin solid }
  8.1124 @@ -879,7 +988,7 @@
  8.1125    items in the center">
  8.1126  
  8.1127    <p class=caption>The 'vertical-align: middle' causes the content of
  8.1128 -  the ''align-box'' to be vertically centered.
  8.1129 +  the ''container'' to be vertically centered.
  8.1130  </div>
  8.1131  </div>
  8.1132  
  8.1133 @@ -944,7 +1053,7 @@
  8.1134  boxes</h3>
  8.1135  
  8.1136  <p>A <dfn>block-level</dfn> box is a box that has a <span>computed
  8.1137 -value</span> for 'display' of ''block'', ''align-box'', ''list-item'',
  8.1138 +value</span> for 'display' of ''block'', ''container'', ''list-item'',
  8.1139  ''table'', ''table-*'' (i.e., all table boxes, see [[CSS3TBL]]),
  8.1140  ''run-in'' (under
  8.1141  certain circumstances, see <a href="#run-in-boxes">“Run-in boxes”
  8.1142 @@ -990,54 +1099,6 @@
  8.1143      ''block''.
  8.1144  </ul>
  8.1145  
  8.1146 -<div class=example>
  8.1147 -<p>An example of the last point above is this document fragment:
  8.1148 -
  8.1149 -<pre>&lt;p&gt;Somebody whose name I have
  8.1150 -forgotten, said, long ago: &lt;q&gt;a box is
  8.1151 -a box,&lt;/q&gt; and he probably meant it.&lt;/p&gt;</pre>
  8.1152 -
  8.1153 -<p>with these style rules:
  8.1154 -<pre>p { display: block }
  8.1155 -q { display: block; margin: 1em }</pre>
  8.1156 -
  8.1157 -<p>The <code>p</code> element has both line boxes and a child box for the
  8.1158 -<code>q</code> element, which is a block-level element. The line boxes before
  8.1159 -the <code>q</code> are wrapped in an anonymous block-level box and so are the
  8.1160 -line boxes after the <code>q</code>. The resulting tree of boxes might be as
  8.1161 -follows (refer to the <a href="#When">figure</a>):
  8.1162 -<ul>
  8.1163 -  <li>block-level box [p]
  8.1164 -    <ul>
  8.1165 -      <li>block-level box [anonymous]
  8.1166 -        <ul>
  8.1167 -          <li>line box: &ldquo;Somebody&hellip;&rdquo;
  8.1168 -          <li>line box: &ldquo;forgotten&hellip;&rdquo;
  8.1169 -        </ul>
  8.1170 -      
  8.1171 -      <li>block-level box [q]
  8.1172 -        <ul>
  8.1173 -          <li>line box: &ldquo;a box&hellip;&rdquo;
  8.1174 -        </ul>
  8.1175 -      
  8.1176 -      <li>block-level box [anonymous]
  8.1177 -        <ul>
  8.1178 -          <li>line box: &ldquo;and he&hellip;&rdquo;
  8.1179 -        </ul>
  8.1180 -      
  8.1181 -    </ul>
  8.1182 -</ul>
  8.1183 -
  8.1184 -<div class=figure id=When>
  8.1185 -  <p><img alt="The P element has two line boxes before the q and one
  8.1186 -  after. The first two are wrapped in an anonymous box, the last one
  8.1187 -  is wrapped in another anonymous box." src="anonymous.png">
  8.1188 -
  8.1189 -  <p class="caption">When the fragment is rendered, the text before
  8.1190 -  the q is wrapped in an anonymous block and the text after the q in
  8.1191 -  another.
  8.1192 -</div>
  8.1193 -</div><!--example-->
  8.1194  
  8.1195  <p class=note>Note that the anonymous boxes defined in this module are
  8.1196  all <span>block-level,</span> but anonymous boxes defined in other
  8.1197 @@ -1106,101 +1167,67 @@
  8.1198  should be excluded from (subtracted from the dimensions of) any
  8.1199  containing block formed by that element.
  8.1200  
  8.1201 -<p class=mtb>A <dfn>flow root</dfn> is a box that satisfies at least one of
  8.1202 -the following:
  8.1203 +
  8.1204 +
  8.1205 +
  8.1206 +
  8.1207 +
  8.1208 +
  8.1209 +<h3 id=run-in-boxes>Run-in boxes</h3>
  8.1210 +
  8.1211 +<div class=issue>
  8.1212 +<p>Compare the rules below with <a
  8.1213 +href="http://lists.w3.org/Archives/Public/www-style/2012Jul/0450.html"
  8.1214 +>Elika's idea:</a>
  8.1215 +
  8.1216 +<p>Model is this:
  8.1217  <ul>
  8.1218 -  <li>The value of 'float' is not ''none''.
  8.1219 -  <li>The <em>used value</em> of 'overflow' is not ''visible''.
  8.1220 -  <li>The value of 'display' is ''table-cell'', ''table-caption'' (see
  8.1221 -    [[CSS3TBL]]), ''inline-block'', ''inline-table'' or ''align-box''.
  8.1222 -  <li>The value of 'position' is ''absolute'' or ''fixed'' (see
  8.1223 -    [[CSS3POS]]).
  8.1224 -  <li>The box is <em>vertical</em> and its parent is
  8.1225 -    <em>horizontal.</em>
  8.1226 -  <li>The box is <em>horizontal</em> and its parent is
  8.1227 -    <em>vertical.</em>
  8.1228 -  <li>The value of 'transform' is not ''none''.
  8.1229 -  <li class=issue>The value of 'child-align' is not ''auto''. [If
  8.1230 -    'child-align' is adopted, rather than, say, 'margin: fill']
  8.1231 +  <li>run-ins are always treated like elements with ''display:
  8.1232 +  inline''
  8.1233 +
  8.1234 +  <li>except that they mangle the box tree thus:
  8.1235 +  <ul>
  8.1236 +    <li>If a run-in is preceded by an inline box (ignoring any anonymous
  8.1237 +       inline boxes containing only collapsed white space),
  8.1238 +       then it forces the creation of an anonymous block boundary
  8.1239 +       between it and the preceding inline.
  8.1240 +
  8.1241 +    <li>If the last run-in in a sequence of run-ins, out-of-flows,
  8.1242 +       and anonymous inlines containing only white space
  8.1243 +       is immediately followed (ignoring out-of-flows and white
  8.1244 +       space) by a block box, the entire sequence (including any
  8.1245 +       descendants) from the first run-in to the last run-in gets
  8.1246 +       shifted into that block, becoming the first boxes in that
  8.1247 +       block as if originally parented there.
  8.1248 +
  8.1249 +  </ul>
  8.1250  </ul>
  8.1251  
  8.1252 -  <p class=note>Note that an element with 'display: inline' therefore
  8.1253 -  cannot be a flow root: it doesn't float (otherwise its 'display'
  8.1254 -  would be ''block''), and neither 'overflow' nor 'writing-mode'
  8.1255 -  apply to inlines.
  8.1256 -
  8.1257 -  <p class=note>Note: The terminology in the CSS level 2 specification is
  8.1258 -  different. A flow root is called “an element that establishes a
  8.1259 -  <span class=index title="formatting context|new formatting
  8.1260 -  context">new formatting context.</span>”
  8.1261 -
  8.1262 -<p>Other modules may define additional flow roots. <span
  8.1263 -class=issue>[Can we thus remove ''table-caption'', ''table-cell'', and
  8.1264 -'position' from the list above?]</span>
  8.1265 -
  8.1266 -<p>The <dfn>flow</dfn> (a.k.a. <dfn>normal flow</dfn>) of a given
  8.1267 -<em>flow root</em> is a set of boxes. A box belongs to the flow if all
  8.1268 -of the following are true:
  8.1269 -<ol>
  8.1270 -  <li>The used value of its 'display' is ''block'', ''list-item'' or
  8.1271 -  ''table''.
  8.1272 -
  8.1273 -  <li>The used value of its 'float' is ''none''.
  8.1274 -
  8.1275 -  <li>The used value of its 'position' is ''static'' or ''relative''.
  8.1276 -
  8.1277 -  <li>It is either a child of the flow root or a child of a box that
  8.1278 -  belong to the flow.
  8.1279 -</ol>
  8.1280 -
  8.1281 -
  8.1282 -
  8.1283 -<div class=example>
  8.1284 -<p>For example, the fragment
  8.1285 -<pre>&lt;div class=sidebar&gt;
  8.1286 - &lt;p&gt;Text in a sidebar.
  8.1287 - &lt;p&gt;Here is quote:
  8.1288 - &lt;blockquote lang=ja&gt;
  8.1289 -  &lt;p&gt;...
  8.1290 - &lt;/blockquote&gt;
  8.1291 - &lt;p&gt;Etc. etc.
  8.1292 -&lt;/div&gt; </pre>
  8.1293 -
  8.1294 -<p>with the style
  8.1295 -<pre>div.sidebar { writing-mode: tb; float: left }
  8.1296 -blockquote[lang|=ja] { writing-mode: rl; height: 10em }</pre>
  8.1297 -
  8.1298 -<p>defines two flows:
  8.1299 -<ol>
  8.1300 -  <li>The <code>div</code> is a flow root, because it floats. Its flow
  8.1301 -  consist of the 1st, 2nd and 4th <code>p</code> and the
  8.1302 -  <code>blockquote</code>.
  8.1303 -
  8.1304 -  <li>The <code>blockquote</code> is a <em>vertical</em> box inside a
  8.1305 -  <em>horizontal</em> parent and it is thus a flow root. Its flow is
  8.1306 -  formed by the 3rd <code>p</code>.
  8.1307 -</ol>
  8.1308 -<p>(The <code>div</code> itself belongs to a third flow, but its flow
  8.1309 -root is not shown in the fragment.)
  8.1310 +
  8.1311 +<p>This solves several problems:
  8.1312 +<ul>
  8.1313 +  <li><p>The behavior of the run-in is no longer determined by its contents.
  8.1314 +
  8.1315 +  <li><p>We don't have the weird discrepency between
  8.1316 +  <pre>&lt;run-in>some&lt;/run-in>
  8.1317 +&lt;p>text&lt;/p></pre>
  8.1318 +  <p>where "some text" appears on one line but
  8.1319 +  <pre>&lt;run-in>some&lt;/run-in>
  8.1320 +text</pre>
  8.1321 +  <p>appears on two lines.
  8.1322 +
  8.1323 +  <li><p>Multiple run-ins still run-in, so something like
  8.1324 +  <pre>&lt;dt>implementer
  8.1325 +&lt;dt>implementor
  8.1326 +&lt;dd>(n.) Someone or something that implements.</pre>
  8.1327 +  <p>can render as
  8.1328 +  <blockquote>
  8.1329 +  <p>*implementer, implementor* (n) Someone or something that
  8.1330 +  implements.
  8.1331 +  </blockquote>
  8.1332 +</ul>
  8.1333  </div>
  8.1334  
  8.1335 -<p class=note>Note that a flow root is not necessarily block-level, it may
  8.1336 -be an ''inline-block'', e.g.
  8.1337 -
  8.1338 -<p>The boxes of a flow are laid out inside their flow root one after
  8.1339 -the other in the direction of the 'writing-mode' property of the
  8.1340 -flow root and in the same order as in the source document. Their
  8.1341 -position is given by how much their margins overlap (see <a
  8.1342 -href="#collapsing-margins">“Collapsing margins”</a>) and by the fact
  8.1343 -that their side margin edges coincide with content edges of their
  8.1344 -containing blocks. More precisely: Each box's left and right margin
  8.1345 -edges coincide with the left and right edges of its containing block
  8.1346 -(if the flow root is ''tb''), or its top and bottom margin edges
  8.1347 -coincide with the top and bottom edges of its containing block (if the
  8.1348 -flow root is ''rl'' or ''lr'').
  8.1349 -
  8.1350 -<h3 id=run-in-boxes>Run-in boxes</h3>
  8.1351 -
  8.1352  <p>A ''run-in'' element (or pseudo-element) <var>A</var> behaves as
  8.1353  follows:
  8.1354  
  8.1355 @@ -1397,32 +1424,38 @@
  8.1356  <h2>The padding properties</h2>
  8.1357  
  8.1358  <table class="propdef">
  8.1359 -  <tr><td>Name: <td><dfn>padding</dfn>
  8.1360 -  <tr><td>Value: <td>[ <var>&lt;length&gt;</var> |
  8.1361 +  <tr><th>Name: <td><dfn>padding</dfn>
  8.1362 +  <tr><th>Value: <td>[ <var>&lt;length&gt;</var> |
  8.1363      <var>&lt;percentage&gt;</var> | auto ]{1,4}
  8.1364 -  <tr><td>Initial: <td>(see individual properties)
  8.1365 -  <tr><td>Applies to: <td>all elements
  8.1366 -  <tr><td>Inherited: <td>no
  8.1367 -  <tr><td>Percentages: <td>width* of containing block
  8.1368 -  <tr><td>Media: <td>visual
  8.1369 -  <tr><td>Computed value: <td>see individual properties
  8.1370 +  <tr><th>Initial: <td>(see individual properties)
  8.1371 +  <tr><th>Applies to: <td>all elements
  8.1372 +  <tr><th>Inherited: <td>no
  8.1373 +  <tr><th>Animatable: <td>yes
  8.1374 +  <tr><th>Percentages: <td>width* of containing block
  8.1375 +  <tr><th>Media: <td>visual
  8.1376 +  <tr><th>Computed value: <td>see individual properties
  8.1377 +  <tr><th>Canonical order: <td>N/A
  8.1378    <tr><td colspan="2" class="footnote">*) if the <em>containing
  8.1379      block</em> is <em>horizontal,</em> otherwise the height
  8.1380 +  <tr><th>Canonical order: <td>N/A
  8.1381  </table>
  8.1382  
  8.1383  <table class="propdef">
  8.1384 -  <tr><td>Name: <td><dfn>padding-top</dfn> , <dfn>padding-right</dfn>,
  8.1385 +  <tr><th>Name: <td><dfn>padding-top</dfn> , <dfn>padding-right</dfn>,
  8.1386      <dfn>padding-bottom</dfn>, <dfn>padding-left</dfn>
  8.1387 -  <tr><td>Value: <td>[ <var>&lt;length&gt;</var> |
  8.1388 +  <tr><th>Value: <td>[ <var>&lt;length&gt;</var> |
  8.1389      <var>&lt;percentage&gt;</var> | auto ]
  8.1390 -  <tr><td>Initial: <td>0
  8.1391 -  <tr><td>Applies to: <td>all elements
  8.1392 -  <tr><td>Inherited: <td>no
  8.1393 -  <tr><td>Percentages: <td>width* of containing block
  8.1394 -  <tr><td>Media: <td>visual
  8.1395 -  <tr><td>Computed value: <td>&lt;length&gt;
  8.1396 +  <tr><th>Initial: <td>0
  8.1397 +  <tr><th>Applies to: <td>all elements
  8.1398 +  <tr><th>Inherited: <td>no
  8.1399 +  <tr><th>Animatable: <td>yes
  8.1400 +  <tr><th>Percentages: <td>width* of containing block
  8.1401 +  <tr><th>Media: <td>visual
  8.1402 +  <tr><th>Computed value: <td>&lt;length&gt;
  8.1403 +  <tr><th>Canonical order: <td>N/A
  8.1404    <tr><td colspan="2" class="footnote">*) if the <em>containing
  8.1405      block</em> is <span><em>horizontal,</em></span> otherwise the height
  8.1406 +  <tr><th>Canonical order: <td>N/A
  8.1407  </table>
  8.1408  
  8.1409  <p>Sets the thickness of the <em>padding area.</em> The value may not be
  8.1410 @@ -1473,33 +1506,39 @@
  8.1411  <h3>The margin properties</h3>
  8.1412  
  8.1413  <table class="propdef">
  8.1414 -  <tr><td>Name: <td><dfn>margin-top</dfn> , <dfn>margin-right</dfn>,
  8.1415 +  <tr><th>Name: <td><dfn>margin-top</dfn> , <dfn>margin-right</dfn>,
  8.1416      <dfn>margin-bottom</dfn>, <dfn>margin-left</dfn>
  8.1417 -  <tr><td>Value: <td><var>&lt;length&gt;</var> |
  8.1418 +  <tr><th>Value: <td><var>&lt;length&gt;</var> |
  8.1419      <var>&lt;percentage&gt;</var> | auto
  8.1420 -  <tr><td>Initial: <td>0
  8.1421 -  <tr><td>Applies to: <td>see text
  8.1422 -  <tr><td>Inherited: <td>no
  8.1423 -  <tr><td>Percentages: <td>width* of containing block
  8.1424 -  <tr><td>Media: <td>visual
  8.1425 -  <tr><td>Computed value: <td>the percentage as specified or the
  8.1426 +  <tr><th>Initial: <td>0
  8.1427 +  <tr><th>Applies to: <td>see text
  8.1428 +  <tr><th>Inherited: <td>no
  8.1429 +  <tr><th>Animatable: <td>yes
  8.1430 +  <tr><th>Percentages: <td>width* of containing block
  8.1431 +  <tr><th>Media: <td>visual
  8.1432 +  <tr><th>Computed value: <td>the percentage as specified or the
  8.1433      absolute length or ''auto''
  8.1434 +  <tr><th>Canonical order: <td>N/A
  8.1435    <tr><td colspan="2" class="footnote">*) if the <em>containing
  8.1436      block</em> is <em>horizontal,</em> otherwise the height
  8.1437 +  <tr><th>Canonical order: <td>N/A
  8.1438  </table>
  8.1439  
  8.1440  <table class=propdef>
  8.1441 -  <tr><td>Name: <td><dfn>margin</dfn>
  8.1442 -  <tr><td>Value: <td>[ <var>&lt;length&gt;</var> |
  8.1443 +  <tr><th>Name: <td><dfn>margin</dfn>
  8.1444 +  <tr><th>Value: <td>[ <var>&lt;length&gt;</var> |
  8.1445      <var>&lt;percentage&gt;</var> | auto]{1,4}
  8.1446 -  <tr><td>Initial: <td>(see individual properties)
  8.1447 -  <tr><td>Applies to: <td>see text
  8.1448 -  <tr><td>Inherited: <td>no
  8.1449 -  <tr><td>Percentages: <td>width* of containing block
  8.1450 -  <tr><td>Media: <td>visual
  8.1451 -  <tr><td>Computed value: <td>see individual properties
  8.1452 +  <tr><th>Initial: <td>(see individual properties)
  8.1453 +  <tr><th>Applies to: <td>see text
  8.1454 +  <tr><th>Inherited: <td>no
  8.1455 +  <tr><th>Animatable: <td>yes
  8.1456 +  <tr><th>Percentages: <td>width* of containing block
  8.1457 +  <tr><th>Media: <td>visual
  8.1458 +  <tr><th>Computed value: <td>see individual properties
  8.1459 +  <tr><th>Canonical order: <td>N/A
  8.1460    <tr><td colspan="2" class="footnote">*) if the <em>containing
  8.1461      block</em> is <em>horizontal,</em> otherwise the height
  8.1462 +  <tr><th>Canonical order: <td>N/A
  8.1463  </table>
  8.1464  
  8.1465  <div class=issue>
  8.1466 @@ -1567,308 +1606,49 @@
  8.1467  
  8.1468  
  8.1469  
  8.1470 -<h3 id=collapsing-margins>Collapsing margins</h3>
  8.1471 -
  8.1472 -<p>Certain adjoining margins, as defined in this section, combine to
  8.1473 -form a single margin. Those margins are said to <dfn>collapse.</dfn>
  8.1474 -Margins are <dfn>adjoining</dfn> if there are no nonempty content,
  8.1475 -<span title="padding area">padding</span> or <span title="border
  8.1476 -area">border areas</span> or <em>clearance</em> to separate them.
  8.1477 -
  8.1478 -<div class=example>
  8.1479 -<p>For example, in the following fragment with the given style rules:
  8.1480 -<pre>p { display: block; margin-bottom: 2em 0 1em 0 }
  8.1481 -div { display: block; margin: 2.5em 0 }
  8.1482 -...
  8.1483 -&lt;p&gt;First paragraph&lt;/p&gt;
  8.1484 -&lt;div&gt;
  8.1485 -  &lt;p&gt;Second paragraph&lt;/p&gt;
  8.1486 -&lt;/div&gt;</pre>
  8.1487 -
  8.1488 -<p>the bottom margin of the first <code>p</code> (=1em), the top margin of
  8.1489 -the <code>div</code> (=2.5em) and the top margin of the second <code>p</code>
  8.1490 -(=2em) collapse. The result is a single margin of 2.5em (the maximum of the
  8.1491 -three) between the bottom of the first <code>p</code> and the top of the
  8.1492 -second.
  8.1493 -</div>
  8.1494 -
  8.1495 -<div class=figure>
  8.1496 -  <p><img src="collapse1.png" alt="Three margins collapse: 1em + 2.5em + 2em">
  8.1497 -  <p class=caption>Schematic representation of the previous example.
  8.1498 -</div>
  8.1499 -
  8.1500 -<div class=example>
  8.1501 -<p>In the following fragment,
  8.1502 -<pre>p { display: block; margin: 2em 0 1em 0 }
  8.1503 -div { display: block; margin: 2.5em 0;
  8.1504 -      border: thin solid }
  8.1505 -...
  8.1506 -&lt;p&gt;First paragraph&lt;/p&gt;
  8.1507 -&lt;div&gt;
  8.1508 -  &lt;p&gt;Second paragraph&lt;/p&gt;
  8.1509 -&lt;/div&gt;</pre>
  8.1510 -
  8.1511 -<p>the bottom margin of the first <code>p</code> and the top margin of
  8.1512 -the <code>div</code> collapse, but the top margin of the second
  8.1513 -<code>p</code> does not collapse with them, because it is not
  8.1514 -<em>adjoining;</em> the border of the <code>div</code> separates them.
  8.1515 -</div>
  8.1516 -
  8.1517 -<div class=figure>
  8.1518 -  <p><img src="collapse2.png" alt="Only two margins collapse: 1em + 2.5em">
  8.1519 -  <p class=caption>Schematic representation of the previous example.
  8.1520 -</div>
  8.1521 -
  8.1522 -<p>If a set of adjoining margins collapses, then the width of the resulting
  8.1523 -margin is <var>M</var> - <var>N</var>, where <var>M</var> is the maximum of
  8.1524 -the adjoining margins that are positive, or zero if there are none; and
  8.1525 -<var>N</var> is the minimum of the adjoining margins that are negative, or
  8.1526 -zero if there are none.
  8.1527 -
  8.1528 -<p>We call an element or box <dfn>collapsed through</dfn> if two of
  8.1529 -its margins collapse with each other.
  8.1530 -
  8.1531 -<div class=example>
  8.1532 -<p>The most common use of collapsing through elements is that empty
  8.1533 -paragraphs don't cause extra white space:
  8.1534 -
  8.1535 -<pre>&lt;p>First paragraph
  8.1536 -&lt;p>Second paragraph
  8.1537 -&lt;p>
  8.1538 -&lt;p>Last paragraph</pre>
  8.1539 -
  8.1540 -<p>There is equal space between the first and second paragraphs as
  8.1541 -between the second and last. 
  8.1542 -</div>
  8.1543 -
  8.1544 -<p>The following two sets of rules determine which margins collapse.
  8.1545 -
  8.1546 -<ul>
  8.1547 -  <li>Only margins of <em>block-level</em> boxes can collapse.
  8.1548 -
  8.1549 -  <li>Margins of a floated box do not collapse with any other margins.
  8.1550 -
  8.1551 -  <li>Margins of a <em>flow root</em> do not collapse with its
  8.1552 -  children's margins.
  8.1553 -
  8.1554 -  <li>Margins of an absolutely positioned box (see [[CSS3POS]]) do not
  8.1555 -  collapse with any other margins.
  8.1556 -
  8.1557 -  <!--
  8.1558 -  <li>Margins of an ''inline-block'' box do not collapse (not even
  8.1559 -  with its in-flow children). <span class=issue>Assuming the first
  8.1560 -  rule above (“only block-level”) is correct, this rule seems
  8.1561 -  redundant, because an inline block is not block-level.</span>
  8.1562 -  -->
  8.1563 -
  8.1564 -  <li>Margins of the root element's box do not collapse with any other
  8.1565 -  margins.
  8.1566 -
  8.1567 -  <li>If a box is <em>collapsed through</em> and it has
  8.1568 -  <em>clearance</em> applied to one of its two collapsed margins, then
  8.1569 -  those two margins do not collapse with certain of the parent's
  8.1570 -  margins, as follows: If clearance is applied to, respectively, the
  8.1571 -  top, right, bottom or left margin, then the two margins do not
  8.1572 -  collapse with the parent's bottom, left, top or right margin,
  8.1573 -  respectively.
  8.1574 -
  8.1575 -  <li>If a <em>horizontal</em> element has a 'height' that is not
  8.1576 -  ''auto'', or if setting its 'min-height' and 'max-height' to their
  8.1577 -  initial values would change its used height, then the <em>tail</em>
  8.1578 -  margin of the element does not collapse with any of its children's
  8.1579 -  margins. <span class=issue>[Check with latest CSS 2.1 if min/max
  8.1580 -  width/height still have this effect.]</span>
  8.1581 -
  8.1582 -  <li>Similarly, if a <em>vertical</em> element has a 'width' that is
  8.1583 -  not ''auto'', or if setting its 'min-width' and 'max-width' to their
  8.1584 -  initial values would change the used width, then the <em>tail</em>
  8.1585 -  margin of the element does not collapse with any of its children's
  8.1586 -  margins. <span class=issue>[Check with latest CSS 2.1 if min/max
  8.1587 -  width/height still have this effect.]</span>
  8.1588 -</ul>
  8.1589 -
  8.1590 -<p>Except when forbidden by the list above, the following margins
  8.1591 -collapse:
  8.1592 -
  8.1593 -<ul>
  8.1594 -  <!-- transitive -->
  8.1595 -  <li>
  8.1596 -    <p>If a margin P collapses with a margin Q and margin Q with a
  8.1597 -    margin R, then P, Q and R collapse together. (“Collapsing is
  8.1598 -    transitive”)
  8.1599 -
  8.1600 -  <!-- parent-child / head -->
  8.1601 -  <li>
  8.1602 -    <p>A margin of a box collapses with the <em>head</em> margin of
  8.1603 -    its parent box if those two margins are <em>adjoining.</em>
  8.1604 -
  8.1605 -  <!-- parent-child / tail -->
  8.1606 -  <li>
  8.1607 -    <p>A margin of a box collapses with the <em>tail</em> margin of
  8.1608 -    its parent box if those two margins are <em>adjoining.</em>
  8.1609 -
  8.1610 -  <!-- sibling -->
  8.1611 -  <li>
  8.1612 -    <p>The <em>head</em> margin of a box collapses with the
  8.1613 -    <em>tail</em> margin of a sibling box if the two margins are
  8.1614 -    <em>adjoining.</em>
  8.1615 -
  8.1616 -  <!-- self top-bottom -->
  8.1617 -  <li>
  8.1618 -    <p>The top and bottom margins of a box A collapse with each other
  8.1619 -    if the two margins are <em>adjoining</em> and the parent box B is
  8.1620 -    <em>horizontal.</em> (The box is <em>“collapsed through.”</em>)
  8.1621 -
  8.1622 -  <!-- self left-right -->
  8.1623 -  <li>
  8.1624 -    <p>The left and right margins of a box A collapse with each other
  8.1625 -    if the two margins are <em>adjoining</em> and the parent box B is
  8.1626 -    <em>vertical.</em> (The box is <em>“collapsed through.”</em>)
  8.1627 -</ul>
  8.1628 -
  8.1629 -<p>If a box A is <em>collapsed through</em> and it has the same mode
  8.1630 -as its parent (i.e., both are <em>horizontal</em> or both are
  8.1631 -<em>vertical</em>), then the position of its <em>head</em> border edge
  8.1632 -is defined as follows.
  8.1633 -
  8.1634 -<ul>
  8.1635 -  <li>If the box A's margins are collapsed with its parent's
  8.1636 -  <em>head</em> margin, the head border edge of A is defined to be the
  8.1637 -  same as the parent's head border edge.
  8.1638 -
  8.1639 -  <li>Otherwise, either the parent is not taking part in the margin
  8.1640 -  collapsing, or only the parent's <em>tail</em> margin is involved. 
  8.1641 -  The position of A's head border edge is defined to be the same as it
  8.1642 -  would have been if A had a nonzero <em>tail</em> border.
  8.1643 -</ul>
  8.1644 -
  8.1645 -  <p class=note>Note that box A itself is invisible and its position
  8.1646 -  has no effect on the positions of the other elements with whose
  8.1647 -  margins it is being collapsed; the border edge position is only
  8.1648 -  required for laying out descendants of A.
  8.1649 -
  8.1650 -<div class=example>
  8.1651 -<p>In a horizontal flow, the bottom margin of an in-flow
  8.1652 -<span>block-level</span> element is always adjoining to the top margin
  8.1653 -of its next in-flow block-level sibling, unless that sibling has
  8.1654 -clearance:
  8.1655 -
  8.1656 -<pre>
  8.1657 -&lt;p style="margin-bottom: 2em">The bottom margin of this
  8.1658 -box&hellip;&lt;/p>
  8.1659 -
  8.1660 -&lt;p style="margin-top: 3em">&hellip; collapses with the top margin
  8.1661 -of this box, to yield max(2em, 3em) = 3em margin.&lt;/p>
  8.1662 -</pre>
  8.1663 -
  8.1664 -<p>The top margin of an in-flow block-level element is adjoining to
  8.1665 -its first in-flow block-level child's top margin if the element has no
  8.1666 -top border, no top padding, and the child has no clearance:
  8.1667 -
  8.1668 -<pre>
  8.1669 -&lt;div style="margin-top: 2em; padding: 0; border: 0">
  8.1670 -  &lt;p style="margin-top: 3em">
  8.1671 -    The top margin of the DIV and the P
  8.1672 -    collapse, to yield max(2em, 3em) = 3em margin.
  8.1673 -  &lt;/p>
  8.1674 -&lt;/div>
  8.1675 -</pre>
  8.1676 -
  8.1677 -<p>The bottom margin of an in-flow block-level element with a 'height'
  8.1678 -of ''auto'' and 'min-height' less than the element's used height and
  8.1679 -'max-height' greater than the element's used height is adjoining to
  8.1680 -its last in-flow block-level child's bottom margin if the element has
  8.1681 -no bottom padding or border:
  8.1682 -
  8.1683 -<pre>
  8.1684 -&lt;div style="margin-bottom: 2em; padding: 0; border: 0;
  8.1685 -    height: auto; min-height: 0; max-height: 100em">
  8.1686 -  &lt;p style="margin-bottom: 3em">
  8.1687 -    The bottom margin of the DIV and the P collapse, to yield max(2em,
  8.1688 -    3em) = 3em margin.
  8.1689 -  &lt;/p>
  8.1690 -&lt;/div>
  8.1691 -</pre>
  8.1692 -
  8.1693 -<p>An element's own margins are adjoining if the 'min-height' property is
  8.1694 -zero, and it has neither vertical borders nor vertical padding, and it has a
  8.1695 -'height' of either 0 or ''auto'', and it does not contain a line box, and all
  8.1696 -of its in-flow children's margins (if any) are adjoining:
  8.1697 -
  8.1698 -<pre>
  8.1699 -&lt;div style="margin-top: 2em; margin-bottom: 3em">
  8.1700 -  &lt;p style="position: absolute">
  8.1701 -    The DIV is empty and its top and bottom margins collapse.
  8.1702 -  &lt;/p>
  8.1703 -&lt;/div>
  8.1704 -</pre>
  8.1705 -
  8.1706 -<p>When an element's own margins collapse, and that element has had
  8.1707 -clearance applied to it, its top margin collapses with the adjoining
  8.1708 -margins of subsequent siblings but that resulting margin does not
  8.1709 -collapse with the bottom margin of the parent block:
  8.1710 -
  8.1711 -<pre>
  8.1712 -&lt;div style="margin-bottom: 2em">
  8.1713 -  &lt;p style="float: left">
  8.1714 -    The margins of the next two Ps collapse
  8.1715 -  &lt;p style="clear: left; margin-top: 4em; margin-bottom: 3em">
  8.1716 -    <!-- empty -->
  8.1717 -  &lt;/p>
  8.1718 -  &lt;p style="margin-top: 1em; margin-bottom: 1em">
  8.1719 -    <!-- empty -->
  8.1720 -  &lt;/p>
  8.1721 -&lt;/div>
  8.1722 -</pre>
  8.1723 -
  8.1724 -<p>The top and bottom margins of the two empty Ps collapse all
  8.1725 -together. But they can't collapse with the bottom of the DIV, because
  8.1726 -one of the two empty P's has clearance.
  8.1727 -
  8.1728 -<p class=issue>Check this. This is probably the only possible
  8.1729 -interpretation of the rules, but it is certainly not obvious that the
  8.1730 -clearance of one element may stop later elements from
  8.1731 -collapsing&hellip;
  8.1732 -</div>
  8.1733 -
  8.1734 -<p>Collapsing is based on the used value of 'padding', 'margin', and 'border'
  8.1735 -(i.e., after resolving any percentages). The collapsed margin is calculated
  8.1736 -over the used value of the various margins.
  8.1737  
  8.1738  
  8.1739  
  8.1740  <h2>The width and height properties</h2>
  8.1741  
  8.1742  <table class=propdef>
  8.1743 -  <tr><td>Name: <td><dfn>width</dfn>
  8.1744 -  <tr><td>Value: <td>[<var>&lt;length></var> | <var>&lt;percentage></var>] &&
  8.1745 +  <tr><th>Name: <td><dfn>width</dfn>
  8.1746 +  <tr><th>Value: <td>[<var>&lt;length></var> | <var>&lt;percentage></var>] &&
  8.1747      [border-box | content-box]? | available | min-content |
  8.1748      max-content | fit-content | auto
  8.1749 -  <tr><td>Initial: <td>auto 
  8.1750 -  <tr><td>Applies to: <td>all elements but non-replaced inline
  8.1751 +  <tr><th>Initial: <td>auto 
  8.1752 +  <tr><th>Applies to: <td>all elements but non-replaced inline
  8.1753      elements, table rows, and row groups
  8.1754 -  <tr><td>Inherited: <td>no
  8.1755 -  <tr><td>Percentages: <td>refer to width of containing block
  8.1756 -  <tr><td>Media: <td>visual
  8.1757 -  <tr><td>Computed value: <td>the specified keyword, the specified
  8.1758 +  <tr><th>Inherited: <td>no
  8.1759 +  <tr><th>Animatable: <td>yes
  8.1760 +  <tr><th>Percentages: <td>refer to width of containing block
  8.1761 +  <tr><th>Media: <td>visual
  8.1762 +  <tr><th>Computed value: <td>the specified keyword; or the specified
  8.1763 +    percentage (with ''border-box'' or ''content-box'' if present); or
  8.1764 +    the absolute length (with ''border-box'' or ''content-box'' if
  8.1765 +    present); or ''auto'' if the property does not apply; (also see
  8.1766 +    prose under &lt;percentage>)
  8.1767 +  <tr><th>Canonical order: <td>the length or percentage before the
  8.1768 +    keyword, if both are present
  8.1769 +</table>
  8.1770 +
  8.1771 +<table class=propdef>
  8.1772 +  <tr><th>Name: <td><dfn>height</dfn>
  8.1773 +  <tr><th>Value: <td>[<var>&lt;length></var> | <var>&lt;percentage></var>] &&
  8.1774 +    [border-box | content-box]? | available | min-content |
  8.1775 +    max-content | fit-content | complex | auto
  8.1776 +  <tr><th>Initial: <td>auto 
  8.1777 +  <tr><th>Applies to: <td>all elements but non-replaced inline
  8.1778 +    elements, table columns, and column groups
  8.1779 +  <tr><th>Inherited: <td>no
  8.1780 +  <tr><th>Animatable: <td>yes
  8.1781 +  <tr><th>Percentages: <td>see prose
  8.1782 +  <tr><th>Media: <td>visual
  8.1783 +  <tr><th>Computed value: <td>the specified keywords, the specified
  8.1784      percentage (see prose under &lt;percentage>) or the absolute
  8.1785      length; ''auto'' if the property does not apply
  8.1786 -</table>
  8.1787 -
  8.1788 -<table class=propdef>
  8.1789 -  <tr><td>Name: <td><dfn>height</dfn>
  8.1790 -  <tr><td>Value: <td>[<var>&lt;length></var> | <var>&lt;percentage></var>] &&
  8.1791 -    [border-box | content-box]? | available | min-content |
  8.1792 -    max-content | fit-content | complex | auto
  8.1793 -  <tr><td>Initial: <td>auto 
  8.1794 -  <tr><td>Applies to: <td>all elements but non-replaced inline
  8.1795 -    elements, table columns, and column groups
  8.1796 -  <tr><td>Inherited: <td>no
  8.1797 -  <tr><td>Percentages: <td>see prose
  8.1798 -  <tr><td>Media: <td>visual
  8.1799 -  <tr><td>Computed value: <td>the specified keywords, the specified
  8.1800 -    percentage (see prose under &lt;percentage>) or the absolute
  8.1801 -    length; ''auto'' if the property does not apply
  8.1802 +  <tr><th>Canonical order: <td>the length or percentage before the
  8.1803 +    keyword, if both are present
  8.1804  </table>
  8.1805  
  8.1806  <!-- Nov 2007, ftf: add four keywords and Jason's example of image + caption -->
  8.1807 @@ -1928,6 +1708,11 @@
  8.1808  <var>&lt;non-negative-number&gt;</var>, which would mean
  8.1809  ''min-content'' times that number.
  8.1810  
  8.1811 +<p class=issue>The width property of ''@viewport''
  8.1812 +[[CSS-DEVICE-ADAPT]] is a shorthand for min-width and max-width and
  8.1813 +can have either one or two values. Anything we can do to alleviate
  8.1814 +risk of the confusion?
  8.1815 +
  8.1816  <p class=note>Note that ''available'', ''max-content'',
  8.1817  ''min-content'', ''fit-content'', ''border-box'', ''content-box'' and
  8.1818  ''complex'' do not exist in level 2.
  8.1819 @@ -2018,35 +1803,45 @@
  8.1820  max-height properties</h2>
  8.1821  
  8.1822  <table class=propdef>
  8.1823 -  <tr><td>Name: <td><dfn>min-width</dfn>, <dfn>min-height</dfn>
  8.1824 -  <tr><td>Value: <td><var>&lt;length&gt;</var>
  8.1825 -    | <var>&lt;percentage&gt;</var> | available | min-content | max-content
  8.1826 -    | fit-content
  8.1827 -  <tr><td>Initial: <td>0
  8.1828 -  <tr><td>Applies to: <td>all elements but non-replaced
  8.1829 +  <tr><th>Name: <td><dfn>min-width</dfn>, <dfn>min-height</dfn>
  8.1830 +  <tr><th>Value: <td>[ [<var>&lt;length&gt;</var> |
  8.1831 +    <var>&lt;percentage&gt;</var>] && [border-box | content-box]? ] |
  8.1832 +    available | min-content | max-content | fit-content
  8.1833 +  <tr><th>Initial: <td>0
  8.1834 +  <tr><th>Applies to: <td>all elements but non-replaced
  8.1835      inline elements, table rows, and row groups
  8.1836 -  <tr><td>Inherited: <td>no
  8.1837 -  <tr><td>Percentages: <td>refer to width, resp. height of
  8.1838 +  <tr><th>Inherited: <td>no
  8.1839 +  <tr><th>Animatable: <td>yes
  8.1840 +  <tr><th>Percentages: <td>refer to width, resp. height of
  8.1841      containing block
  8.1842 -  <tr><td>Media: <td>visual
  8.1843 -  <tr><td>Computed value: <td>the percentage as specified, the keyword
  8.1844 -    as specified, or the absolute length
  8.1845 +  <tr><th>Media: <td>visual
  8.1846 +  <tr><th>Computed value: <td>the percentage as specified (with
  8.1847 +    ''border-box'' or ''content-box'', if present), the keyword as
  8.1848 +    specified, or the absolute length (with ''border-box'' or
  8.1849 +    ''content-box'', if present)
  8.1850 +  <tr><th>Canonical order: <td>the length or percentage before the
  8.1851 +    keyword, if both are present
  8.1852  </table>
  8.1853  
  8.1854  <table class=propdef>
  8.1855 -  <tr><td>Name: <td><dfn>max-width</dfn>, <dfn>max-height</dfn>
  8.1856 -  <tr><td>Value: <td><var>&lt;length&gt;</var>
  8.1857 -    | <var>&lt;percentage&gt;</var> | available | min-content | max-content
  8.1858 -    | fit-content | none
  8.1859 -  <tr><td>Initial: <td>none
  8.1860 -  <tr><td>Applies to: <td>all elements but non-replaced inline
  8.1861 +  <tr><th>Name: <td><dfn>max-width</dfn>, <dfn>max-height</dfn>
  8.1862 +  <tr><th>Value: <td>[ [<var>&lt;length&gt;</var> |
  8.1863 +    <var>&lt;percentage&gt;</var>] && [border-box | content-box]? ] |
  8.1864 +    available | min-content | max-content | fit-content | none
  8.1865 +  <tr><th>Initial: <td>none
  8.1866 +  <tr><th>Applies to: <td>all elements but non-replaced inline
  8.1867      elements, table rows, and row groups
  8.1868 -  <tr><td>Inherited: <td>no
  8.1869 -  <tr><td>Percentages: <td>refer to width, resp. height of
  8.1870 +  <tr><th>Inherited: <td>no
  8.1871 +  <tr><th>Animatable: <td>yes
  8.1872 +  <tr><th>Percentages: <td>refer to width, resp. height of
  8.1873      containing block
  8.1874 -  <tr><td>Media: <td>visual
  8.1875 -  <tr><td>Computed value: <td>the percentage as specified, the keyword
  8.1876 -    as specified, the absolute length, or ''none''
  8.1877 +  <tr><th>Media: <td>visual
  8.1878 +  <tr><th>Computed value: <td>the percentage as specified (with
  8.1879 +    ''border-box'' or ''content-box'', if present); the keyword as
  8.1880 +    specified; the absolute length (with ''border-box'' or
  8.1881 +    ''content-box'', if present); or none
  8.1882 +  <tr><th>Canonical order: <td>the length or percentage before the
  8.1883 +    keyword, if both are present
  8.1884  </table>
  8.1885  
  8.1886  <p>These properties allow authors to constrain content widths and
  8.1887 @@ -2254,6 +2049,438 @@
  8.1888  
  8.1889  
  8.1890  
  8.1891 +<h2><span class=index>Aspect ratios</span> of replaced elements</h2>
  8.1892 +
  8.1893 +<p>For the purposes of the width and height calculations below, CSS
  8.1894 +distinguishes four kinds of <em title="replaced element"
  8.1895 +class=index>replaced elements</em>:
  8.1896 +
  8.1897 +<dl>
  8.1898 +<dt>Type 1: replaced elements with both <em class=index >intrinsic
  8.1899 +width</em> and <em class=index >intrinsic height.</em> <dd>These are
  8.1900 +replaced elements that are meant to be displayed with a certain fixed
  8.1901 +factor (the <em class=index >intrinsic ratio</em>) between their width
  8.1902 +and height and also have a default size. Different formats may have
  8.1903 +different ways of specifying the size, e.g., a width and a ratio, or a
  8.1904 +raster and a resolution in dots per inch. Raster images fall in this
  8.1905 +category.
  8.1906 +
  8.1907 +<dt>Type 2: replaced elements with only an <em class=index >intrinsic
  8.1908 +ratio</em> <dd>These are replaced elements that are meant to be
  8.1909 +displayed with a certain fixed factor between their width and height,
  8.1910 +but without a default size. <span class=index>SVG</span> images often
  8.1911 +fall in the this category.
  8.1912 +
  8.1913 +<dt>Type 3: replaced elements with a <dfn>complex aspect ratio</dfn>
  8.1914 +<dd>These are replaced elements that do not have a <em>fixed</em>
  8.1915 +ratio between their width and height, but that do have a functional
  8.1916 +relation between them in the sense that for every width there is a
  8.1917 +unique height. HTML documents are examples of this: the width can be
  8.1918 +chosen freely, but at every width there is a definite intrinsic
  8.1919 +height.
  8.1920 +
  8.1921 +<dt>Type 4: replaced elements without an intrinsic ratio <dd>These are
  8.1922 +replaced elements that have no relation between their width and
  8.1923 +height. Certain <span class=index>SVG</span> images are examples of
  8.1924 +this.
  8.1925 +</dl>
  8.1926 +
  8.1927 +<p>For <span class=index>raster images</span> without reliable
  8.1928 +resolution information, a size of 1 px unit per image source pixel
  8.1929 +must be assumed. These images thus are of type 1.
  8.1930 +
  8.1931 +<div class=example>
  8.1932 +<p>E.g., according to the section on <a href="#inline-replaced">inline
  8.1933 +replaced elements</a> below, if the replaced element is an HTML
  8.1934 +document and the height is specified as ''auto'', e.g.:
  8.1935 +<pre>
  8.1936 +... &lt;object data="example.html"
  8.1937 +      style="width: 30em; height: auto">&lt;/object>...
  8.1938 +</pre>
  8.1939 +<p>then the used height will be 150px, which is unlikely to be the
  8.1940 +real height of the example.html document. But if the height is
  8.1941 +specified as ''complex'', e.g.:
  8.1942 +<pre>
  8.1943 +... &lt;object data="example.html"
  8.1944 +      style="width: 30em; height: complex">&lt;/object>...
  8.1945 +</pre>
  8.1946 +<p>then the height will be the height the example.html document
  8.1947 +normally has when displayed on its own with the given width. This
  8.1948 +enables almost seamless integration of external text in a document,
  8.1949 +without a scrollbar or other scrolling mechanism. (The external text
  8.1950 +is still displayed with its own style sheet.)
  8.1951 +</div>
  8.1952 +
  8.1953 +<div class=example>
  8.1954 +<p>An external mathematical formula in MathML is an example of
  8.1955 +replaced content with an intrinsic width and height. Assume the file
  8.1956 +m.mml contains a formula, then the HTML fragment
  8.1957 +
  8.1958 +<pre>
  8.1959 +... derive &lt;img src="m.mml"
  8.1960 +alt="that the sum of p(i) for i greater than 0 equals N">
  8.1961 +for the case...
  8.1962 +</pre>
  8.1963 +
  8.1964 +<p>renders the formula at its intrinsic size.
  8.1965 +</div>
  8.1966 +
  8.1967 +<p class=issue>The mathematical formula would however benefit from a
  8.1968 +way to negotiate available space against intrinsic size, or even
  8.1969 +negotiate available space against the number of boxes, so that the
  8.1970 +formula could be broken in two or more boxes and occupy space on two
  8.1971 +or more lines (similar to how lines of text are broken or words are
  8.1972 +hyphenated). HTML5, unlike HTML4, has math elements, so formulas can
  8.1973 +be embedded instead of transcluded, which would solve the problem if
  8.1974 +CSS had properties for math typography…
  8.1975 +
  8.1976 +
  8.1977 +
  8.1978 +
  8.1979 +<h2>Block-level formatting</h2>
  8.1980 +
  8.1981 +<p>In a <dfn>block formatting context,</dfn> block-level boxes are
  8.1982 +laid out in the manner of a series of paragraphs.
  8.1983 +
  8.1984 +<p>The boxes of a <span>flow</span> are laid out one after the other
  8.1985 +in the direction of the 'writing-mode' property of the <span>flow
  8.1986 +root</span> and in the same order as in the source document. Their
  8.1987 +position is given by how much their margins overlap (see <a
  8.1988 +href="#collapsing-margins">“Collapsing margins”</a>) and by the fact
  8.1989 +that their side margin edges coincide with the edges of their
  8.1990 +containing block. More precisely: Each box's <span title="D
  8.1991 +edge">D</span> and <span>B edge</span> coincide with respectively the
  8.1992 +<span>start</span> and <span>end</span> edges of its <span>containing
  8.1993 +block.</span>
  8.1994 +
  8.1995 +<p class="issue">When is a block formatting context established?
  8.1996 +
  8.1997 +<p class=issue>TODO: Need to deal with anonymous block boxes.
  8.1998 +
  8.1999 +<div class=example>
  8.2000 +<p>An example of the last point above is this document fragment:
  8.2001 +
  8.2002 +<pre>&lt;p&gt;Somebody whose name I have
  8.2003 +forgotten, said, long ago: &lt;q&gt;a box is
  8.2004 +a box,&lt;/q&gt; and he probably meant it.&lt;/p&gt;</pre>
  8.2005 +
  8.2006 +<p>with these style rules:
  8.2007 +<pre>p { display: block }
  8.2008 +q { display: block; margin: 1em }</pre>
  8.2009 +
  8.2010 +<p>The <code>p</code> element has both line boxes and a child box for the
  8.2011 +<code>q</code> element, which is a block-level element. The line boxes before
  8.2012 +the <code>q</code> are wrapped in an anonymous block-level box and so are the
  8.2013 +line boxes after the <code>q</code>. The resulting tree of boxes might be as
  8.2014 +follows (refer to the <a href="#When">figure</a>):
  8.2015 +<ul>
  8.2016 +  <li>block-level box [p]
  8.2017 +    <ul>
  8.2018 +      <li>block-level box [anonymous]
  8.2019 +        <ul>
  8.2020 +          <li>line box: &ldquo;Somebody&hellip;&rdquo;
  8.2021 +          <li>line box: &ldquo;forgotten&hellip;&rdquo;
  8.2022 +        </ul>
  8.2023 +      
  8.2024 +      <li>block-level box [q]
  8.2025 +        <ul>
  8.2026 +          <li>line box: &ldquo;a box&hellip;&rdquo;
  8.2027 +        </ul>
  8.2028 +      
  8.2029 +      <li>block-level box [anonymous]
  8.2030 +        <ul>
  8.2031 +          <li>line box: &ldquo;and he&hellip;&rdquo;
  8.2032 +        </ul>
  8.2033 +      
  8.2034 +    </ul>
  8.2035 +</ul>
  8.2036 +
  8.2037 +<div class=figure id=When>
  8.2038 +  <p><img alt="The P element has two line boxes before the q and one
  8.2039 +  after. The first two are wrapped in an anonymous box, the last one
  8.2040 +  is wrapped in another anonymous box." src="anonymous.png">
  8.2041 +
  8.2042 +  <p class="caption">When the fragment is rendered, the text before
  8.2043 +  the q is wrapped in an anonymous block and the text after the q in
  8.2044 +  another.
  8.2045 +</div>
  8.2046 +</div><!--example-->
  8.2047 +
  8.2048 +
  8.2049 +
  8.2050 +<h3 id=collapsing-margins>Collapsing margins</h3>
  8.2051 +
  8.2052 +<p>Certain adjoining margins, as defined in this section, combine to
  8.2053 +form a single margin. Those margins are said to <dfn>collapse.</dfn>
  8.2054 +Margins are <dfn>adjoining</dfn> if there are no nonempty content,
  8.2055 +<span title="padding area">padding</span> or <span title="border
  8.2056 +area">border areas</span> or <em>clearance</em> to separate them.
  8.2057 +
  8.2058 +<div class=example>
  8.2059 +<p>For example, in the following fragment with the given style rules:
  8.2060 +<pre>p { display: block; margin-bottom: 2em 0 1em 0 }
  8.2061 +div { display: block; margin: 2.5em 0 }
  8.2062 +...
  8.2063 +&lt;p&gt;First paragraph&lt;/p&gt;
  8.2064 +&lt;div&gt;
  8.2065 +  &lt;p&gt;Second paragraph&lt;/p&gt;
  8.2066 +&lt;/div&gt;</pre>
  8.2067 +
  8.2068 +<p>the bottom margin of the first <code>p</code> (=1em), the top margin of
  8.2069 +the <code>div</code> (=2.5em) and the top margin of the second <code>p</code>
  8.2070 +(=2em) collapse. The result is a single margin of 2.5em (the maximum of the
  8.2071 +three) between the bottom of the first <code>p</code> and the top of the
  8.2072 +second.
  8.2073 +</div>
  8.2074 +
  8.2075 +<div class=figure>
  8.2076 +  <p><img src="collapse1.png" alt="Three margins collapse: 1em + 2.5em + 2em">
  8.2077 +  <p class=caption>Schematic representation of the previous example.
  8.2078 +</div>
  8.2079 +
  8.2080 +<div class=example>
  8.2081 +<p>In the following fragment,
  8.2082 +<pre>p { display: block; margin: 2em 0 1em 0 }
  8.2083 +div { display: block; margin: 2.5em 0;
  8.2084 +      border: thin solid }
  8.2085 +...
  8.2086 +&lt;p&gt;First paragraph&lt;/p&gt;
  8.2087 +&lt;div&gt;
  8.2088 +  &lt;p&gt;Second paragraph&lt;/p&gt;
  8.2089 +&lt;/div&gt;</pre>
  8.2090 +
  8.2091 +<p>the bottom margin of the first <code>p</code> and the top margin of
  8.2092 +the <code>div</code> collapse, but the top margin of the second
  8.2093 +<code>p</code> does not collapse with them, because it is not
  8.2094 +<em>adjoining;</em> the border of the <code>div</code> separates them.
  8.2095 +</div>
  8.2096 +
  8.2097 +<div class=figure>
  8.2098 +  <p><img src="collapse2.png" alt="Only two margins collapse: 1em + 2.5em">
  8.2099 +  <p class=caption>Schematic representation of the previous example.
  8.2100 +</div>
  8.2101 +
  8.2102 +<p>If a set of adjoining margins collapses, then the width of the resulting
  8.2103 +margin is <var>M</var> - <var>N</var>, where <var>M</var> is the maximum of
  8.2104 +the adjoining margins that are positive, or zero if there are none; and
  8.2105 +<var>N</var> is the minimum of the adjoining margins that are negative, or
  8.2106 +zero if there are none.
  8.2107 +
  8.2108 +<p>We call an element or box <dfn>collapsed through</dfn> if two of
  8.2109 +its margins collapse with each other.
  8.2110 +
  8.2111 +<div class=example>
  8.2112 +<p>The most common use of collapsing through elements is that empty
  8.2113 +paragraphs don't cause extra white space:
  8.2114 +
  8.2115 +<pre>&lt;p>First paragraph
  8.2116 +&lt;p>Second paragraph
  8.2117 +&lt;p>
  8.2118 +&lt;p>Last paragraph</pre>
  8.2119 +
  8.2120 +<p>There is equal space between the first and the second paragraphs as
  8.2121 +between the second and the last.
  8.2122 +</div>
  8.2123 +
  8.2124 +<p>The following two sets of rules determine which margins collapse.
  8.2125 +
  8.2126 +<ul>
  8.2127 +  <li>Only margins of <em>block-level</em> boxes can collapse.
  8.2128 +
  8.2129 +  <li>Margins of a floated box do not collapse with any other margins.
  8.2130 +
  8.2131 +  <li>Margins of a <em>flow root</em> do not collapse with its
  8.2132 +  children's margins.
  8.2133 +
  8.2134 +  <li>Margins of an absolutely positioned box (see [[CSS3POS]]) do not
  8.2135 +  collapse with any other margins.
  8.2136 +
  8.2137 +  <!--
  8.2138 +  <li>Margins of an ''inline-block'' box do not collapse (not even
  8.2139 +  with its in-flow children). <span class=issue>Assuming the first
  8.2140 +  rule above (“only block-level”) is correct, this rule seems
  8.2141 +  redundant, because an inline block is not block-level.</span>
  8.2142 +  -->
  8.2143 +
  8.2144 +  <li>Margins of the root element's box do not collapse with any other
  8.2145 +  margins.
  8.2146 +
  8.2147 +  <li>If a box is <em>collapsed through</em> and it has
  8.2148 +  <em>clearance</em> applied to one of its two collapsed margins, then
  8.2149 +  those two margins do not collapse with certain of the parent's
  8.2150 +  margins, as follows: If clearance is applied to, respectively, the
  8.2151 +  top, right, bottom or left margin, then the two margins do not
  8.2152 +  collapse with the parent's bottom, left, top or right margin,
  8.2153 +  respectively.
  8.2154 +
  8.2155 +  <li>If a <em>horizontal</em> element has a 'height' that is not
  8.2156 +  ''auto'', or if setting its 'min-height' and 'max-height' to their
  8.2157 +  initial values would change its used height, then the <em>tail</em>
  8.2158 +  margin of the element does not collapse with any of its children's
  8.2159 +  margins. <span class=issue>[Check with latest CSS 2.1 if min/max
  8.2160 +  width/height still have this effect.]</span>
  8.2161 +
  8.2162 +  <li>Similarly, if a <em>vertical</em> element has a 'width' that is
  8.2163 +  not ''auto'', or if setting its 'min-width' and 'max-width' to their
  8.2164 +  initial values would change the used width, then the <em>tail</em>
  8.2165 +  margin of the element does not collapse with any of its children's
  8.2166 +  margins. <span class=issue>[Check with latest CSS 2.1 if min/max
  8.2167 +  width/height still have this effect.]</span>
  8.2168 +</ul>
  8.2169 +
  8.2170 +<p>Except when forbidden by the list above, the following margins
  8.2171 +collapse:
  8.2172 +
  8.2173 +<ul>
  8.2174 +  <!-- transitive -->
  8.2175 +  <li>
  8.2176 +    <p>If a margin P collapses with a margin Q and margin Q with a
  8.2177 +    margin R, then P, Q and R collapse together. (“Collapsing is
  8.2178 +    transitive”)
  8.2179 +
  8.2180 +  <!-- parent-child / head -->
  8.2181 +  <li>
  8.2182 +    <p>A margin of a box collapses with the <em>head</em> margin of
  8.2183 +    its parent box if those two margins are <em>adjoining.</em>
  8.2184 +
  8.2185 +  <!-- parent-child / tail -->
  8.2186 +  <li>
  8.2187 +    <p>A margin of a box collapses with the <em>tail</em> margin of
  8.2188 +    its parent box if those two margins are <em>adjoining.</em>
  8.2189 +
  8.2190 +  <!-- sibling -->
  8.2191 +  <li>
  8.2192 +    <p>The <em>head</em> margin of a box collapses with the
  8.2193 +    <em>tail</em> margin of a sibling box if the two margins are
  8.2194 +    <em>adjoining.</em>
  8.2195 +
  8.2196 +  <!-- self top-bottom -->
  8.2197 +  <li>
  8.2198 +    <p>The top and bottom margins of a box A collapse with each other
  8.2199 +    if the two margins are <em>adjoining</em> and the parent box B is
  8.2200 +    <em>horizontal.</em> (The box is <em>“collapsed through.”</em>)
  8.2201 +
  8.2202 +  <!-- self left-right -->
  8.2203 +  <li>
  8.2204 +    <p>The left and right margins of a box A collapse with each other
  8.2205 +    if the two margins are <em>adjoining</em> and the parent box B is
  8.2206 +    <em>vertical.</em> (The box is <em>“collapsed through.”</em>)
  8.2207 +</ul>
  8.2208 +
  8.2209 +<p>If a box A is <em>collapsed through</em> and it has the same mode
  8.2210 +as its parent (i.e., both are <em>horizontal</em> or both are
  8.2211 +<em>vertical</em>), then the position of its <em>head</em> border edge
  8.2212 +is defined as follows.
  8.2213 +
  8.2214 +<ul>
  8.2215 +  <li>If the box A's margins are collapsed with its parent's
  8.2216 +  <em>head</em> margin, the head border edge of A is defined to be the
  8.2217 +  same as the parent's head border edge.
  8.2218 +
  8.2219 +  <li>Otherwise, either the parent is not taking part in the margin
  8.2220 +  collapsing, or only the parent's <em>tail</em> margin is involved. 
  8.2221 +  The position of A's head border edge is defined to be the same as it
  8.2222 +  would have been if A had a nonzero <em>tail</em> border.
  8.2223 +</ul>
  8.2224 +
  8.2225 +  <p class=note>Note that box A itself is invisible and its position
  8.2226 +  has no effect on the positions of the other elements with whose
  8.2227 +  margins it is being collapsed; the border edge position is only
  8.2228 +  required for laying out descendants of A.
  8.2229 +
  8.2230 +<div class=example>
  8.2231 +<p>In a horizontal flow, the bottom margin of an in-flow
  8.2232 +<span>block-level</span> element is always adjoining to the top margin
  8.2233 +of its next in-flow block-level sibling, unless that sibling has
  8.2234 +clearance:
  8.2235 +
  8.2236 +<pre>
  8.2237 +&lt;p style="margin-bottom: 2em">The bottom margin of this
  8.2238 +box&hellip;&lt;/p>
  8.2239 +
  8.2240 +&lt;p style="margin-top: 3em">&hellip; collapses with the top margin
  8.2241 +of this box, to yield max(2em, 3em) = 3em margin.&lt;/p>
  8.2242 +</pre>
  8.2243 +
  8.2244 +<p>The top margin of an in-flow block-level element is adjoining to
  8.2245 +its first in-flow block-level child's top margin if the element has no
  8.2246 +top border, no top padding, and the child has no clearance:
  8.2247 +
  8.2248 +<pre>
  8.2249 +&lt;div style="margin-top: 2em; padding: 0; border: 0">
  8.2250 +  &lt;p style="margin-top: 3em">
  8.2251 +    The top margin of the DIV and the P
  8.2252 +    collapse, to yield max(2em, 3em) = 3em margin.
  8.2253 +  &lt;/p>
  8.2254 +&lt;/div>
  8.2255 +</pre>
  8.2256 +
  8.2257 +<p>The bottom margin of an in-flow block-level element with a 'height'
  8.2258 +of ''auto'' and 'min-height' less than the element's used height and
  8.2259 +'max-height' greater than the element's used height is adjoining to
  8.2260 +its last in-flow block-level child's bottom margin if the element has
  8.2261 +no bottom padding or border:
  8.2262 +
  8.2263 +<pre>
  8.2264 +&lt;div style="margin-bottom: 2em; padding: 0; border: 0;
  8.2265 +    height: auto; min-height: 0; max-height: 100em">
  8.2266 +  &lt;p style="margin-bottom: 3em">
  8.2267 +    The bottom margin of the DIV and the P collapse, to yield max(2em,
  8.2268 +    3em) = 3em margin.
  8.2269 +  &lt;/p>
  8.2270 +&lt;/div>
  8.2271 +</pre>
  8.2272 +
  8.2273 +<p>An element's own margins are adjoining if the 'min-height' property is
  8.2274 +zero, and it has neither vertical borders nor vertical padding, and it has a
  8.2275 +'height' of either 0 or ''auto'', and it does not contain a line box, and all
  8.2276 +of its in-flow children's margins (if any) are adjoining:
  8.2277 +
  8.2278 +<pre>
  8.2279 +&lt;div style="margin-top: 2em; margin-bottom: 3em">
  8.2280 +  &lt;p style="position: absolute">
  8.2281 +    The DIV is empty and its top and bottom margins collapse.
  8.2282 +  &lt;/p>
  8.2283 +&lt;/div>
  8.2284 +</pre>
  8.2285 +
  8.2286 +<p>When an element's own margins collapse, and that element has had
  8.2287 +clearance applied to it, its top margin collapses with the adjoining
  8.2288 +margins of subsequent siblings but that resulting margin does not
  8.2289 +collapse with the bottom margin of the parent block:
  8.2290 +
  8.2291 +<pre>
  8.2292 +&lt;div style="margin-bottom: 2em">
  8.2293 +  &lt;p style="float: left">
  8.2294 +    The margins of the next two Ps collapse
  8.2295 +  &lt;p style="clear: left; margin-top: 4em; margin-bottom: 3em">
  8.2296 +    <!-- empty -->
  8.2297 +  &lt;/p>
  8.2298 +  &lt;p style="margin-top: 1em; margin-bottom: 1em">
  8.2299 +    <!-- empty -->
  8.2300 +  &lt;/p>
  8.2301 +&lt;/div>
  8.2302 +</pre>
  8.2303 +
  8.2304 +<p>The top and bottom margins of the two empty Ps collapse all
  8.2305 +together. But they can't collapse with the bottom of the DIV, because
  8.2306 +one of the two empty P's has clearance.
  8.2307 +
  8.2308 +<p class=issue>Check this. This is probably the only possible
  8.2309 +interpretation of the rules, but it is certainly not obvious that the
  8.2310 +clearance of one element may stop later elements from
  8.2311 +collapsing&hellip;
  8.2312 +</div>
  8.2313 +
  8.2314 +<p>Collapsing is based on the used value of 'padding', 'margin', and 'border'
  8.2315 +(i.e., after resolving any percentages). The collapsed margin is calculated
  8.2316 +over the used value of the various margins.
  8.2317 +
  8.2318 +
  8.2319 +
  8.2320 +
  8.2321 +
  8.2322 +
  8.2323  <h2 id=Calculating>Calculating widths, heights and margins</h2>
  8.2324  
  8.2325  <p>The following two algorithms define the <em>used value</em> of
  8.2326 @@ -3029,15 +3256,17 @@
  8.2327  <h2>The float property</h2>
  8.2328  
  8.2329  <table class=propdef>
  8.2330 -  <tr><td>Name: <td><dfn>float</dfn>
  8.2331 -  <tr><td>Value: <td>[ left | right | top | bottom | start | end | none |
  8.2332 +  <tr><th>Name: <td><dfn>float</dfn>
  8.2333 +  <tr><th>Value: <td>[ left | right | top | bottom | start | end | none |
  8.2334      <var>&lt;page-floats&gt;</var> ] && contour?
  8.2335 -  <tr><td>Initial: <td>none 
  8.2336 -  <tr><td>Applies to: <td>all, but see text
  8.2337 -  <tr><td>Inherited: <td>no 
  8.2338 -  <tr><td>Percentages: <td>N/A 
  8.2339 -  <tr><td>Media: <td>visual 
  8.2340 -  <tr><td>Computed value: <td>as specified
  8.2341 +  <tr><th>Initial: <td>none 
  8.2342 +  <tr><th>Applies to: <td>all, but see text
  8.2343 +  <tr><th>Inherited: <td>no 
  8.2344 +  <tr><th>Animatable: <td>no
  8.2345 +  <tr><th>Percentages: <td>N/A 
  8.2346 +  <tr><th>Media: <td>visual 
  8.2347 +  <tr><th>Computed value: <td>as specified
  8.2348 +  <tr><th>Canonical order: <td>order of grammar
  8.2349  </table>
  8.2350  
  8.2351  <p class=issue>Adding ''start'' and ''end'' was decided at 2009-12-02
  8.2352 @@ -3564,14 +3793,16 @@
  8.2353  <h2>The clear property</h2>
  8.2354  
  8.2355  <table class=propdef>
  8.2356 -  <tr><td>Name: <td><dfn>clear</dfn>
  8.2357 -  <tr><td>Value: <td>none | left | right | both
  8.2358 -  <tr><td>Initial: <td>none 
  8.2359 -  <tr><td>Applies to: <td><span>block-level</span> elements 
  8.2360 -  <tr><td>Inherited: <td>no 
  8.2361 -  <tr><td>Percentages: <td>N/A 
  8.2362 -  <tr><td>Media: <td>visual 
  8.2363 -  <tr><td>Computed value: <td>as specified
  8.2364 +  <tr><th>Name: <td><dfn>clear</dfn>
  8.2365 +  <tr><th>Value: <td>none | left | right | both
  8.2366 +  <tr><th>Initial: <td>none 
  8.2367 +  <tr><th>Applies to: <td><span>block-level</span> elements 
  8.2368 +  <tr><th>Inherited: <td>no 
  8.2369 +  <tr><th>Animatable: <td>no
  8.2370 +  <tr><th>Percentages: <td>N/A 
  8.2371 +  <tr><th>Media: <td>visual 
  8.2372 +  <tr><th>Computed value: <td>as specified
  8.2373 +  <tr><th>Canonical order: <td>N/A
  8.2374  </table>
  8.2375  
  8.2376  <p class=issue>[To do: copy from CSS2 [[!CSS21]] and generalize to
  8.2377 @@ -3604,7 +3835,7 @@
  8.2378  floats. [The idea to add the functionality to 'height' is due to IanH
  8.2379  2004-02-29]
  8.2380  
  8.2381 -<li>A new value ''align-box'' on 'display'.
  8.2382 +<li>A new value ''container'' on 'display'.
  8.2383  </ol>
  8.2384  </div>
  8.2385  
  8.2386 @@ -3631,6 +3862,10 @@
  8.2387        <td>Inherited:
  8.2388        <td>no
  8.2389      
  8.2390 +    <tr>
  8.2391 +      <td>Animatable:
  8.2392 +      <td>no
  8.2393 +
  8.2394      <tr valign="baseline">
  8.2395        <td>Percentages:
  8.2396        <td>N/A
  8.2397 @@ -3642,7 +3877,10 @@
  8.2398      <tr>
  8.2399        <td>Computed value:
  8.2400        <td>specified value
  8.2401 -    
  8.2402 +
  8.2403 +    <tr>
  8.2404 +      <th>Canonical order:
  8.2405 +      <td>N/A
  8.2406    </tbody>
  8.2407  </table>
  8.2408  
  8.2409 @@ -3732,6 +3970,10 @@
  8.2410        <td>Inherited:
  8.2411        <td>no
  8.2412      
  8.2413 +    <tr>
  8.2414 +      <td>Animatable:
  8.2415 +      <td>no
  8.2416 +    
  8.2417      <tr valign="baseline">
  8.2418        <td>Percentages:
  8.2419        <td>N/A
  8.2420 @@ -3743,7 +3985,10 @@
  8.2421      <tr>
  8.2422        <td>Computed value:
  8.2423        <td>specified value
  8.2424 -    
  8.2425 +
  8.2426 +    <tr>
  8.2427 +      <th>Canonical order:
  8.2428 +      <td>order of keywords as in grammar
  8.2429    </tbody>
  8.2430  </table>
  8.2431  
  8.2432 @@ -3781,28 +4026,32 @@
  8.2433  them in terms of “overflow-x and/or -y” or similar.
  8.2434  
  8.2435  <table class=propdef>
  8.2436 -  <tr><td>Name: <td><dfn>overflow-x</dfn>, <dfn>overflow-y</dfn>,
  8.2437 -  <tr><td>Value: <td>visible | hidden | scroll | auto | no-display | no-content
  8.2438 -  <tr><td>Initial: <td>visible
  8.2439 -  <tr><td>Applies to: <td>non-replaced <em>block-level</em> elements
  8.2440 +  <tr><th>Name: <td><dfn>overflow-x</dfn>, <dfn>overflow-y</dfn>,
  8.2441 +  <tr><th>Value: <td>visible | hidden | scroll | auto | no-display | no-content
  8.2442 +  <tr><th>Initial: <td>visible
  8.2443 +  <tr><th>Applies to: <td>non-replaced <em>block-level</em> elements
  8.2444      and non-replaced ''inline-block'' elements
  8.2445 -  <tr><td>Inherited: <td>no
  8.2446 -  <tr><td>Percentages: <td>N/A
  8.2447 -  <tr><td>Media: <td>visual
  8.2448 -  <tr><td>Computed value:<td>as specified, except 'visible', see text
  8.2449 +  <tr><th>Inherited: <td>no
  8.2450 +  <tr><th>Animatable: <td>no
  8.2451 +  <tr><th>Percentages: <td>N/A
  8.2452 +  <tr><th>Media: <td>visual
  8.2453 +  <tr><th>Computed value:<td>as specified, except 'visible', see text
  8.2454 +  <tr><th>Canonical order: <td>N/A
  8.2455  </table>
  8.2456  
  8.2457  <table class=propdef>
  8.2458 -  <tr><td>Name: <td><dfn>overflow</dfn>
  8.2459 -  <tr><td>Value: <td>[ visible | hidden | scroll | auto | no-display |
  8.2460 +  <tr><th>Name: <td><dfn>overflow</dfn>
  8.2461 +  <tr><th>Value: <td>[ visible | hidden | scroll | auto | no-display |
  8.2462      no-content ]{1,2}
  8.2463 -  <tr><td>Initial: <td>see individual properties
  8.2464 -  <tr><td>Applies to: <td>non-replaced <em>block-level</em> elements
  8.2465 +  <tr><th>Initial: <td>see individual properties
  8.2466 +  <tr><th>Applies to: <td>non-replaced <em>block-level</em> elements
  8.2467      and non-replaced ''inline-block'' elements
  8.2468 -  <tr><td>Inherited: <td>no
  8.2469 -  <tr><td>Percentages: <td>N/A
  8.2470 -  <tr><td>Media: <td>visual
  8.2471 -  <tr><td>Computed value:<td>as specified, except 'visible', see text
  8.2472 +  <tr><th>Inherited: <td>no
  8.2473 +  <tr><th>Animatable: <td>no
  8.2474 +  <tr><th>Percentages: <td>N/A
  8.2475 +  <tr><th>Media: <td>visual
  8.2476 +  <tr><th>Computed value:<td>as specified, except 'visible', see text
  8.2477 +  <tr><th>Canonical order: <td>N/A
  8.2478  </table>
  8.2479  
  8.2480  <p>These properties specify whether content is clipped when it
  8.2481 @@ -4040,14 +4289,16 @@
  8.2482  <h2>The visibility property</h2>
  8.2483  
  8.2484  <table class=propdef>
  8.2485 -  <tr><td>Name: <td><dfn>visibility</dfn>
  8.2486 -  <tr><td>Value: <td>visible | hidden | collapse
  8.2487 -  <tr><td>Initial: <td> visible
  8.2488 -  <tr><td>Applies to: <td>all elements
  8.2489 -  <tr><td>Inherited: <td>yes
  8.2490 -  <tr><td>Percentages: <td>N/A
  8.2491 -  <tr><td>Media: <td>visual
  8.2492 -  <tr><td>Computed value: <td>as specified
  8.2493 +  <tr><th>Name: <td><dfn>visibility</dfn>
  8.2494 +  <tr><th>Value: <td>visible | hidden | collapse
  8.2495 +  <tr><th>Initial: <td> visible
  8.2496 +  <tr><th>Applies to: <td>all elements
  8.2497 +  <tr><th>Inherited: <td>yes
  8.2498 +  <tr><th>Animatable: <td>no
  8.2499 +  <tr><th>Percentages: <td>N/A
  8.2500 +  <tr><th>Media: <td>visual
  8.2501 +  <tr><th>Computed value: <td>as specified
  8.2502 +  <tr><th>Canonical order: <td>N/A
  8.2503  </table>
  8.2504  
  8.2505  <p>This property specifies whether the boxes generated by an element
  8.2506 @@ -4073,14 +4324,16 @@
  8.2507  <h2>The alignment property</h2>
  8.2508  
  8.2509  <table class=propdef>
  8.2510 -  <tr><td>Name: <td><dfn>alignment</dfn>
  8.2511 -  <tr><td>Value: <td>top | right | bottom | left | center
  8.2512 -  <tr><td>Initial: <td>see text
  8.2513 -  <tr><td>Applies to: <td><span>block-level</span> elements
  8.2514 -  <tr><td>Inherited: <td>no
  8.2515 -  <tr><td>Percentages: <td>N/A
  8.2516 -  <tr><td>Media: <td>visual
  8.2517 -  <tr><td>Computed value: <td>specified value
  8.2518 +  <tr><th>Name: <td><dfn>alignment</dfn>
  8.2519 +  <tr><th>Value: <td>top | right | bottom | left | center
  8.2520 +  <tr><th>Initial: <td>see text
  8.2521 +  <tr><th>Applies to: <td><span>block-level</span> elements
  8.2522 +  <tr><th>Inherited: <td>no
  8.2523 +  <tr><th>Animatable: <td>no
  8.2524 +  <tr><th>Percentages: <td>N/A
  8.2525 +  <tr><th>Media: <td>visual
  8.2526 +  <tr><th>Computed value: <td>specified value
  8.2527 +  <tr><th>Canonical order: <td>N/A
  8.2528  </table>
  8.2529  
  8.2530  <p class=issue>Another way to allow real centering of boxes would be
  8.2531 @@ -4166,14 +4419,16 @@
  8.2532  <a href="/Style/CSS/Tracker/issues/53">ISSUE-53.</a>
  8.2533  
  8.2534  <table class=propdef>
  8.2535 -  <tr><td>Name: <td><dfn>child-align</dfn>
  8.2536 -  <tr><td>Value: <td>top | middle | bottom | left | right | auto
  8.2537 -  <tr><td>Initial: <td>auto
  8.2538 -  <tr><td>Applies to: <td>block-level elements, table cells and inline blocks
  8.2539 -  <tr><td>Inherited: <td>yes
  8.2540 -  <tr><td>Percentages: <td>N/A
  8.2541 -  <tr><td>Media: <td>visual
  8.2542 -  <tr><td>Computed value: <td>the initial value or as specified
  8.2543 +  <tr><th>Name: <td><dfn>child-align</dfn>
  8.2544 +  <tr><th>Value: <td>top | middle | bottom | left | right | auto
  8.2545 +  <tr><th>Initial: <td>auto
  8.2546 +  <tr><th>Applies to: <td>block-level elements, table cells and inline blocks
  8.2547 +  <tr><th>Inherited: <td>yes
  8.2548 +  <tr><th>Animatable: <td>no
  8.2549 +  <tr><th>Percentages: <td>N/A
  8.2550 +  <tr><th>Media: <td>visual
  8.2551 +  <tr><th>Computed value: <td>the initial value or as specified
  8.2552 +  <tr><th>Canonical order: <td>N/A
  8.2553  </table>
  8.2554  
  8.2555  <p>This property describes how block-level content of a block is
  8.2556 @@ -4818,6 +5073,10 @@
  8.2557        <td>yes
  8.2558      
  8.2559      <tr>
  8.2560 +      <td>Animatable:
  8.2561 +      <td>no
  8.2562 +    
  8.2563 +    <tr>
  8.2564        <td><em>Percentages:</em>
  8.2565        <td>N/A
  8.2566      
  8.2567 @@ -4830,9 +5089,8 @@
  8.2568        <td>Same as specified value
  8.2569      
  8.2570      <tr>
  8.2571 -      <td><em>Computed value:</em>
  8.2572 -      <td>specified value
  8.2573 -    
  8.2574 +      <th>Canonical order:
  8.2575 +      <td>N/A
  8.2576    </tbody>
  8.2577  </table>
  8.2578  
  8.2579 @@ -5153,8 +5411,7 @@
  8.2580      
  8.2581      <tr>
  8.2582        <td><em>Value:</em>
  8.2583 -      <td>none | margin-edge | border-edge | padding-edge | content-edge |
  8.2584 -        inherit
  8.2585 +      <td>none | margin-edge | border-edge | padding-edge | content-edge
  8.2586      
  8.2587      <tr>
  8.2588        <td><em>Initial:</em>
  8.2589 @@ -5169,6 +5426,10 @@
  8.2590        <td>no
  8.2591      
  8.2592      <tr>
  8.2593 +      <td>Animatable:
  8.2594 +      <td>yes
  8.2595 +    
  8.2596 +    <tr>
  8.2597        <td><em>Percentages:</em>
  8.2598        <td>n/a
  8.2599      
  8.2600 @@ -5179,7 +5440,10 @@
  8.2601      <tr>
  8.2602        <td><em>Computed value:</em>
  8.2603        <td>specified value
  8.2604 -    
  8.2605 +
  8.2606 +    <tr>
  8.2607 +      <th>Canonical order:
  8.2608 +      <td>N/A
  8.2609    </tbody>
  8.2610  </table>
  8.2611  
     9.1 Binary file css3-box/flow1.png has changed
    10.1 Binary file css3-box/horizontal-rtl.png has changed
    11.1 Binary file css3-box/horizontal.png has changed
    12.1 Binary file css3-box/vertical-lr-rtl.png has changed
    13.1 Binary file css3-box/vertical-lr.png has changed
    14.1 Binary file css3-box/vertical-rl.png has changed
    15.1 Binary file css3-box/vertical-rtl.png has changed
    16.1 Binary file css3-box/vertical.png has changed
    17.1 --- a/css3-color/Makefile	Fri Sep 21 16:00:07 2012 -0700
    17.2 +++ b/css3-color/Makefile	Fri Sep 21 16:01:06 2012 -0700
    17.3 @@ -1,39 +1,65 @@
    17.4  # Calling the post-processor with file-upload. Assumes the username
    17.5 -# and password are in ~/.curl-w3.org
    17.6 +# and password are in ~/.curl-w3.org (user = USER:PASS)
    17.7  #
    17.8 -# Possible other options:
    17.9 -# -F date=YYYY-MM-DD
   17.10 +# To set a date other than today, use: make cdate=YYYYMMDD
   17.11 +#
   17.12 +# To set the status, modify one of the "this version" URLs:
   17.13 +# http://www.w3.org/TR/[YEAR]/CR-[SHORTNAME]-[CDATE]/
   17.14 +# Or set that URL to [VERSION] and call Make as: make status=CR
   17.15 +#
   17.16 +#
   17.17 +# Possible other options to add to the curl command below:
   17.18  # -F ids=on
   17.19 +# -F omitdchtml=on
   17.20 +
   17.21 +opts =
   17.22 +
   17.23 +cdate = $(shell date +%Y%m%d)
   17.24  
   17.25  %.html: %.src.html
   17.26  	@echo "Calling post-processor to generate $@..."
   17.27 -	@curl -F file=@$< -F group=CSS -F output=html -F method=file -s -K ~/.curl-w3.org http://cgi.w3.org/member-bin/process.cgi >$@
   17.28 +	@curl -K ~/.curl-w3.org -s -S -F output=html -F file=@$< -F group=CSS \
   17.29 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
   17.30 +	https://cgi.w3.org/member-bin/process.cgi
   17.31  %.err: %.src.html
   17.32  	@echo "Calling post-processor to check $<..."
   17.33 -	@curl -F file=@$< -F group=CSS -F output=err -F method=file -s -K ~/.curl-w3.org http://cgi.w3.org/member-bin/process.cgi >$@
   17.34 +	@curl -K ~/.curl-w3.org -s -S -F output=err -F file=@$< -F group=CSS \
   17.35 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
   17.36 +	https://cgi.w3.org/member-bin/process.cgi
   17.37  
   17.38 +# For Dispositions of Comments in css3-background:
   17.39 +%.html: %.txt; awk -f issues-txt-to-html.awk $< >$@
   17.40 +
   17.41 +# Rule to create EPS from FIG
   17.42 +%.eps: %.fig; fig2dev -m 0.8 -L eps -F -c $< $@
   17.43 +
   17.44 +# Rule to create raster image versions of EPS images
   17.45 +%.png: %.eps; convert -density 96x96 $< $@
   17.46  
   17.47  
   17.48  all: check Overview.html
   17.49 -	@echo Done.
   17.50  
   17.51 +# egrep will exit with a zero exit code if there is anything left
   17.52  check: Overview.err
   17.53  	@cat $<
   17.54 -	@grep -q '^No errors$$' $< # Force a non-zero exit code if errors
   17.55 -
   17.56 +	@if egrep -v '^(Warning:|\(Processed in .* seconds\)|No errors)' $<;\
   17.57 +	 then false; else true; fi
   17.58  
   17.59  
   17.60  # A handy shortcut:
   17.61  
   17.62 -commit: update clean all
   17.63 -	cvs commit -m 'Generated. Do not edit!' Overview.html
   17.64 +commit: update all
   17.65 +	hg commit -m 'Generated. Do not edit!' Overview.html || true
   17.66 +	hg push
   17.67  
   17.68  update:
   17.69 -	cvs update
   17.70 +	hg pull -u
   17.71  
   17.72  clean:
   17.73 -	rm Overview.html
   17.74 +	rm -f Overview.html Overview.err
   17.75  
   17.76  
   17.77  
   17.78  .PHONY: check commit update clean
   17.79 +.DELETE_ON_ERROR:
   17.80 +.PRECIOUS: %.png
    18.1 --- a/css3-conditional/Overview.html	Fri Sep 21 16:00:07 2012 -0700
    18.2 +++ b/css3-conditional/Overview.html	Fri Sep 21 16:01:06 2012 -0700
    18.3 @@ -10,15 +10,15 @@
    18.4    <link href="http://purl.org/dc/terms/" rel=schema.DC>
    18.5    <meta content="CSS Conditional Rules Module Level 3" name=DC.title>
    18.6    <meta content=text name=DC.type>
    18.7 -  <meta content=2012-09-10 name=DC.issued>
    18.8 +  <meta content=2012-09-20 name=DC.issued>
    18.9    <meta content="http://dev.w3.org/csswg/css3-conditional/" name=DC.creator>
   18.10    <meta content=W3C name=DC.publisher>
   18.11 -  <meta content="http://www.w3.org/TR/2012/WD-css3-conditional-20120910/"
   18.12 +  <meta content="http://www.w3.org/TR/2012/ED-css3-conditional-20120920/"
   18.13     name=DC.identifier>
   18.14    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   18.15     rel=DC.rights>
   18.16    <link href="../default.css" rel=stylesheet type="text/css">
   18.17 -  <link href="http://www.w3.org/StyleSheets/TR/W3C-WD.css" rel=stylesheet
   18.18 +  <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet
   18.19     type="text/css">
   18.20  
   18.21   <body>
   18.22 @@ -28,14 +28,14 @@
   18.23  
   18.24     <h1>CSS Conditional Rules Module Level 3</h1>
   18.25  
   18.26 -   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 10
   18.27 -    September 2012</h2>
   18.28 +   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 20 September
   18.29 +    2012</h2>
   18.30  
   18.31     <dl>
   18.32      <dt>This version:
   18.33  
   18.34 -    <dd><a href="http://www.w3.org/TR/2012/WD-css3-conditional-20120910/">
   18.35 -     http://www.w3.org/TR/2012/WD-css3-conditional-20120910/</a>
   18.36 +    <dd><a href="http://www.w3.org/TR/2012/ED-css3-conditional-20120920/">
   18.37 +     http://www.w3.org/TR/2012/ED-css3-conditional-20120920/</a>
   18.38  
   18.39      <dt>Latest version:
   18.40  
   18.41 @@ -112,41 +112,35 @@
   18.42    <h2 class="no-num no-toc" id=status>Status of this document</h2>
   18.43    <!--begin-status-->
   18.44  
   18.45 -  <p><em>This section describes the status of this document at the time of
   18.46 -   its publication. Other documents may supersede this document. A list of
   18.47 -   current W3C publications and the latest revision of this technical report
   18.48 -   can be found in the <a href="http://www.w3.org/TR/">W3C technical reports
   18.49 -   index at http://www.w3.org/TR/.</a></em>
   18.50 -
   18.51 -  <p>Publication as a Working Draft does not imply endorsement by the W3C
   18.52 -   Membership. This is a draft document and may be updated, replaced or
   18.53 -   obsoleted by other documents at any time. It is inappropriate to cite this
   18.54 -   document as other than work in progress.
   18.55 +  <p>This is a public copy of the editors' draft. It is provided for
   18.56 +   discussion only and may change at any moment. Its publication here does
   18.57 +   not imply endorsement of its contents by W3C. Don't cite this document
   18.58 +   other than as work in progress.
   18.59  
   18.60    <p>The (<a
   18.61     href="http://lists.w3.org/Archives/Public/www-style/">archived</a>) public
   18.62 -   mailing list <a href="mailto:www-style@w3.org">www-style@w3.org</a> (see
   18.63 -   <a href="http://www.w3.org/Mail/Request">instructions</a>) is preferred
   18.64 -   for discussion of this specification. When sending e-mail, please put the
   18.65 -   text “css3-conditional” in the subject, preferably like this:
   18.66 +   mailing list <a
   18.67 +   href="mailto:www-style@w3.org?Subject=%5Bcss3-conditional%5D%20PUT%20SUBJECT%20HERE">
   18.68 +   www-style@w3.org</a> (see <a
   18.69 +   href="http://www.w3.org/Mail/Request">instructions</a>) is preferred for
   18.70 +   discussion of this specification. When sending e-mail, please put the text
   18.71 +   “css3-conditional” in the subject, preferably like this:
   18.72     “[<!---->css3-conditional<!---->] <em>…summary of comment…</em>”
   18.73  
   18.74 -  <p>This document was produced by the <a
   18.75 -   href="http://www.w3.org/Style/CSS/members">CSS Working Group</a> (part of
   18.76 -   the <a href="http://www.w3.org/Style/">Style Activity</a>).
   18.77 +  <p>This document was produced by the <a href="/Style/CSS/members">CSS
   18.78 +   Working Group</a> (part of the <a href="/Style/">Style Activity</a>).
   18.79  
   18.80    <p>This document was produced by a group operating under the <a
   18.81 -   href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
   18.82 -   2004 W3C Patent Policy</a>. W3C maintains a <a
   18.83 -   href="http://www.w3.org/2004/01/pp-impl/32061/status"
   18.84 +   href="/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
   18.85 +   Policy</a>. W3C maintains a <a href="/2004/01/pp-impl/32061/status"
   18.86     rel=disclosure>public list of any patent disclosures</a> made in
   18.87     connection with the deliverables of the group; that page also includes
   18.88     instructions for disclosing a patent. An individual who has actual
   18.89     knowledge of a patent which the individual believes contains <a
   18.90 -   href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
   18.91 +   href="/Consortium/Patent-Policy-20040205/#def-essential">Essential
   18.92     Claim(s)</a> must disclose the information in accordance with <a
   18.93 -   href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
   18.94 -   6 of the W3C Patent Policy</a>.</p>
   18.95 +   href="/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the
   18.96 +   W3C Patent Policy</a>.</p>
   18.97    <!--end-status-->
   18.98  
   18.99    <p>The following features are at risk:
  18.100 @@ -207,9 +201,6 @@
  18.101      <ul class=toc>
  18.102       <li><a href="#support-definition"><span class=secno>6.1.
  18.103        </span>Definition of support</a>
  18.104 -
  18.105 -     <li><a href="#partial-implementations"><span class=secno>6.2.
  18.106 -      </span>Partial implementations</a>
  18.107      </ul>
  18.108  
  18.109     <li><a href="#at-document"><span class=secno>7. </span>Document queries:
  18.110 @@ -815,38 +806,34 @@
  18.111    <h3 id=support-definition><span class=secno>6.1. </span>Definition of
  18.112     support</h3>
  18.113  
  18.114 -  <p>A CSS processor is considered to <dfn id=dfn-support>support</dfn> a
  18.115 -   declaration (consisting of a property and value) if it implements the
  18.116 -   given value of the given property.
  18.117 -
  18.118 -  <h3 id=partial-implementations><span class=secno>6.2. </span>Partial
  18.119 -   implementations</h3>
  18.120 -
  18.121    <p>For forward-compatibility, <a
  18.122     href="http://www.w3.org/TR/CSS21/syndata.html#declaration">section 4.1.8
  18.123     (Declarations and properties)</a> of <a href="#CSS21"
  18.124     rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a> defines rules for handling
  18.125 -   invalid properties and values. CSS processors that partially implement a
  18.126 -   specification <strong>must</strong> treat any part of a value that they:
  18.127 +   invalid properties and values. CSS processors that do not implement or
  18.128 +   partially implement a specification <strong>must</strong> treat any part
  18.129 +   of a value that they do not implement, or do not have a usable level of
  18.130 +   support for, as invalid according to this rule for handling invalid
  18.131 +   properties and values, and therefore <strong>must</strong> discard the
  18.132 +   declaration as a parse error.
  18.133  
  18.134 -  <ul>
  18.135 -   <li>do not implement, or
  18.136 +  <p>A CSS processor is considered to <dfn id=dfn-support>support</dfn> a
  18.137 +   declaration (consisting of a property and value) if it accepts that
  18.138 +   declaration (rather than discarding it as a parse error). If a processor
  18.139 +   does not implement, with a usable level of support, the value given, then
  18.140 +   it <strong>must not</strong> accept the declaration or claim support for
  18.141 +   it.
  18.142  
  18.143 -   <li>do not have a usable level of support for,
  18.144 -  </ul>
  18.145 -
  18.146 -  <p>as invalid according to this rule for handling invalid properties and
  18.147 -   values, and <strong>must not</strong> accept or support a declaration
  18.148 -   containing such a value. This allows authors to use fallback (either in
  18.149 -   the <a href="#CSS1" rel=biblioentry>[CSS1]<!--{{CSS1}}--></a> sense of
  18.150 -   declarations that are overridden by later declarations or with the new
  18.151 -   capabilities provided by the ‘<a href="#dfn-support"><code
  18.152 -   class=css>@supports</code></a>’ rule in this specification) that works
  18.153 -   correctly for the features implemented. This applies especially to
  18.154 -   compound values; implementations must implement all parts of the value in
  18.155 -   order to consider the declaration supported, either inside a ruleset or in
  18.156 -   the declaration condition of an ‘<a href="#dfn-support"><code
  18.157 -   class=css>@supports</code></a>’ rule.
  18.158 +  <p>These rules (and the equivalence between them) allow authors to use
  18.159 +   fallback (either in the <a href="#CSS1"
  18.160 +   rel=biblioentry>[CSS1]<!--{{CSS1}}--></a> sense of declarations that are
  18.161 +   overridden by later declarations or with the new capabilities provided by
  18.162 +   the ‘<a href="#dfn-support"><code class=css>@supports</code></a>’ rule
  18.163 +   in this specification) that works correctly for the features implemented.
  18.164 +   This applies especially to compound values; implementations must implement
  18.165 +   all parts of the value in order to consider the declaration supported,
  18.166 +   either inside a ruleset or in the declaration condition of an ‘<a
  18.167 +   href="#dfn-support"><code class=css>@supports</code></a>’ rule.
  18.168  
  18.169    <h2 id=at-document><span class=secno>7. </span>Document queries: the
  18.170     ‘<code class=css>@document</code>’ rule</h2>
  18.171 @@ -1069,7 +1056,7 @@
  18.172    ;
  18.173  
  18.174  url_match_fn
  18.175 -  : (URI | FUNCTION) S*
  18.176 +  : (URI | FUNCTION S* STRING S* ')' ) S*
  18.177    ;</pre>
  18.178  
  18.179    <h2 id=apis><span class=secno>8. </span>APIs</h2>
  18.180 @@ -1133,8 +1120,19 @@
  18.181    <dl class=idl-attributes>
  18.182     <dt><code>conditionText</code> of type <code>DOMString</code>
  18.183  
  18.184 -   <dd>The <code>conditionText</code> attribute, on getting, must return the
  18.185 -    result of serializing the associated condition.
  18.186 +   <dd>
  18.187 +    <p>The <code>conditionText</code> attribute represents the condition of
  18.188 +     the rule. Since what this condition does varies between the derived
  18.189 +     interfaces of <a
  18.190 +     href="#cssconditionrule"><code>CSSConditionRule</code></a>, those
  18.191 +     derived interfaces may specify different behavior for this attribute
  18.192 +     (see, for example, <a href="#cssmediarule"><code>CSSMediaRule</code></a>
  18.193 +     below). In the absence of such rule-specific behavior, the following
  18.194 +     rules apply:
  18.195 +
  18.196 +    <p>The <code>conditionText</code> attribute, on getting, must return the
  18.197 +     result of serializing the associated condition.
  18.198 +
  18.199      <p>On setting the <code>conditionText</code> attribute these steps must
  18.200       be run:
  18.201  
  18.202 @@ -1400,8 +1398,8 @@
  18.203    <p> Thanks to the ideas and feedback from Tab Atkins, <span lang=tr>Tantek
  18.204     Çelik</span>, Alex Danilo, Elika Etemad, Pascal Germroth, <span
  18.205     lang=de>Björn Höhrmann</span>, Paul Irish, Vitor Menezes, Alex
  18.206 -   Mogilevsky, Chris Moschini, Ben Ward, Zack Weinberg, Estelle Weyl, Boris
  18.207 -   Zbarsky, and all the rest of the <a
  18.208 +   Mogilevsky, Chris Moschini, Simon Sapin, Ben Ward, Zack Weinberg, Estelle
  18.209 +   Weyl, Boris Zbarsky, and all the rest of the <a
  18.210     href="http://lists.w3.org/Archives/Public/www-style/">www-style</a>
  18.211     community.
  18.212  
    19.1 --- a/css3-conditional/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
    19.2 +++ b/css3-conditional/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
    19.3 @@ -18,7 +18,7 @@
    19.4  <dl>
    19.5    <dt>This version:
    19.6      <dd><a href="[VERSION]">
    19.7 -    http://www.w3.org/TR/[YEAR]/WD-css3-conditional-[CDATE]/</a>
    19.8 +    http://www.w3.org/TR/[YEAR]/ED-css3-conditional-[CDATE]/</a>
    19.9  
   19.10    <dt>Latest version:
   19.11      <dd><a href="http://www.w3.org/TR/[SHORTNAME]/">http://www.w3.org/TR/[SHORTNAME]/</a>
   19.12 @@ -40,7 +40,7 @@
   19.13  
   19.14      <dd><a
   19.15       href="http://lists.w3.org/Archives/Public/www-style/">www-style@w3.org</a>
   19.16 -     with subject line “<kbd>[css3-conditional] <var>… message topic
   19.17 +     with subject line “<kbd>&#x5b;[SHORTNAME]&#x5d; <var>… message topic
   19.18       …</var></kbd>”
   19.19  
   19.20    <dt>Test suite:
   19.21 @@ -564,26 +564,28 @@
   19.22  
   19.23  <h3 id="support-definition">Definition of support</h3>
   19.24  
   19.25 +<p>For forward-compatibility,
   19.26 +<a href="http://www.w3.org/TR/CSS21/syndata.html#declaration">section 4.1.8
   19.27 +(Declarations and properties)</a> of [[!CSS21]]
   19.28 +defines rules for handling invalid properties and values.
   19.29 +CSS processors that
   19.30 +do not implement or partially implement a specification
   19.31 +<strong>must</strong> treat any part of a value that they
   19.32 +do not implement, or
   19.33 +do not have a usable level of support for,
   19.34 +as invalid according to this rule
   19.35 +for handling invalid properties and values,
   19.36 +and therefore <strong>must</strong> discard the declaration as a parse error.</p>
   19.37 +
   19.38  <p>A CSS processor is considered to <dfn id="dfn-support">support</dfn>
   19.39 -a declaration (consisting of a property and value) if it implements the
   19.40 -given value of the given property.</p>
   19.41 +a declaration (consisting of a property and value) if it accepts that
   19.42 +declaration (rather than discarding it as a parse error).
   19.43 +If a processor does not implement, with a usable level of support,
   19.44 +the value given,
   19.45 +then it <strong>must not</strong>
   19.46 +accept the declaration or claim support for it.</p>
   19.47  
   19.48 -<h3 id="partial-implementations">Partial implementations</h3>
   19.49 -
   19.50 -<p>For forward-compatibility, <a
   19.51 -href="http://www.w3.org/TR/CSS21/syndata.html#declaration">section 4.1.8
   19.52 -(Declarations and properties)</a> of [[!CSS21]] defines rules for
   19.53 -handling invalid properties and values.  CSS processors that partially
   19.54 -implement a specification <strong>must</strong> treat any part of a
   19.55 -value that they:</p>
   19.56 -<ul>
   19.57 -  <li>do not implement, or</li>
   19.58 -  <li>do not have a usable level of support for,</li>
   19.59 -</ul>
   19.60 -<p>as invalid according to this rule
   19.61 -for handling invalid properties and values,
   19.62 -and <strong>must not</strong>
   19.63 -accept or support a declaration containing such a value.  This allows
   19.64 +<p>These rules (and the equivalence between them) allow
   19.65  authors to use fallback (either in the [[CSS1]] sense of declarations
   19.66  that are overridden by later declarations or with the new capabilities
   19.67  provided by the ''@supports'' rule in this specification) that works
   19.68 @@ -785,7 +787,7 @@
   19.69    ;
   19.70  
   19.71  url_match_fn
   19.72 -  : (URI | FUNCTION) S*
   19.73 +  : (URI | FUNCTION S* STRING S* ')' ) S*
   19.74    ;</pre>
   19.75  
   19.76  <h2 id="apis">APIs</h2>
   19.77 @@ -841,8 +843,20 @@
   19.78  }</pre>
   19.79  
   19.80  <dl class='idl-attributes'>
   19.81 +
   19.82    <dt><code>conditionText</code> of type <code>DOMString</code>
   19.83 -  <dd>The <code>conditionText</code> attribute, on getting, must return
   19.84 +  <dd>
   19.85 +    <p>The <code>conditionText</code> attribute represents
   19.86 +    the condition of the rule.
   19.87 +    Since what this condition does
   19.88 +    varies between the derived interfaces of <code>CSSConditionRule</code>,
   19.89 +    those derived interfaces
   19.90 +    may specify different behavior for this attribute
   19.91 +    (see, for example, <code>CSSMediaRule</code> below).
   19.92 +    In the absence of such rule-specific behavior,
   19.93 +    the following rules apply:</p>
   19.94 +
   19.95 +    <p>The <code>conditionText</code> attribute, on getting, must return
   19.96      the result of serializing the associated condition.
   19.97  
   19.98      <p>On setting the <code>conditionText</code> attribute these steps
   19.99 @@ -1096,6 +1110,7 @@
  19.100  Vitor Menezes,
  19.101  Alex Mogilevsky,
  19.102  Chris Moschini,
  19.103 +Simon Sapin,
  19.104  Ben Ward,
  19.105  Zack Weinberg,
  19.106  Estelle Weyl,
    20.1 --- a/css3-flexbox/Overview.html	Fri Sep 21 16:00:07 2012 -0700
    20.2 +++ b/css3-flexbox/Overview.html	Fri Sep 21 16:01:06 2012 -0700
    20.3 @@ -2042,7 +2042,7 @@
    20.4       <a href="#flex-components">longhand</a> and specifies the <dfn
    20.5       id=flex-basis>flex basis</dfn>: the initial <a href="#main-size"><i>main
    20.6       size</i></a> of the <a href="#flex-item"><i>flex item</i></a>, before
    20.7 -     free space is distributed according to the flex ratios. When omitted
    20.8 +     free space is distributed according to the flex factors. When omitted
    20.9       from the ‘<a href="#flex"><code class=property>flex</code></a>’
   20.10       shorthand, its specified value is the length zero.
   20.11  
   20.12 @@ -2056,7 +2056,7 @@
   20.13       src="images/rel-vs-abs-flex.svg" width=504> <figcaption> A diagram
   20.14       showing the difference between "absolute" flex (starting from a basis of
   20.15       zero) and "relative" flex (starting from a basis of the item's content
   20.16 -     size). The three items have flex ratios of ‘<code
   20.17 +     size). The three items have flex factors of ‘<code
   20.18       class=css>1</code>’, ‘<code class=css>1</code>’, and ‘<code
   20.19       class=css>2</code>’, respectively. </figcaption> </figure>
   20.20  
   20.21 @@ -2084,7 +2084,7 @@
   20.22    <p> A unitless zero that is not already preceded by two flex factors must
   20.23     be interpreted as a flex factor. To avoid misinterpretation or invalid
   20.24     declarations, authors must specify a zero <var>&lt;flex-basis></var>
   20.25 -   component with a unit or precede it by both flex ratios.
   20.26 +   component with a unit or precede it by two flex factors.
   20.27  
   20.28    <h3 id=flex-common><span class=secno>7.2. </span> Common Values of ‘<a
   20.29     href="#flex"><code class=property>flex</code></a>’</h3>
   20.30 @@ -2140,7 +2140,7 @@
   20.31      href="#flex-basis"><i>flex basis</i></a> to zero, resulting in an item
   20.32      that receives the specified proportion of the free space in the flex
   20.33      container. If all items in the flex container use this pattern, their
   20.34 -    sizes will be proportional to the specified flex ratio.
   20.35 +    sizes will be proportional to the specified flex factor.
   20.36    </dl>
   20.37  
   20.38    <p> By default, flex items won't shrink below their minimum content size
   20.39 @@ -3373,7 +3373,7 @@
   20.40    <p> To resolve the flexible lengths of the items within a flex line:
   20.41  
   20.42    <ol>
   20.43 -   <li> <strong>Determine the used flex ratio.</strong> Sum the outer <a
   20.44 +   <li> <strong>Determine the used flex factor.</strong> Sum the outer <a
   20.45      href="#hypothetical-main-size"><i>hypothetical main sizes</i></a> of all
   20.46      items on the line. If the sum is less than the flex container's inner
   20.47      main size, use the <a href="#flex-grow-factor"><i>flex grow
   20.48 @@ -3381,11 +3381,11 @@
   20.49      href="#flex-shrink-factor"><i>flex shrink factor</i></a>.
   20.50  
   20.51     <li> <strong>Size inflexible items.</strong> For any items that have a
   20.52 -    flex ratio of zero, set their used main size to their <a
   20.53 +    flex factor of zero, set their used main size to their <a
   20.54      href="#hypothetical-main-size"><i>hypothetical main size</i></a>.
   20.55  
   20.56     <li> <strong>Check that you can distribute any space.</strong> If all the
   20.57 -    flex items on the line are either frozen or have a flex ratio of zero,
   20.58 +    flex items on the line are either frozen or have a flex factor of zero,
   20.59      exit the algorithm.
   20.60  
   20.61     <li> <strong>Calculate free space.</strong> Sum the outer <a
   20.62 @@ -3394,12 +3394,12 @@
   20.63      is the free space.
   20.64  
   20.65     <li> <strong>Distribute free space proportional to the flex
   20.66 -    ratios.</strong> If the sign of the free space is positive and the
   20.67 +    factors.</strong> If the sign of the free space is positive and the
   20.68      algorithm is using the <a href="#flex-grow-factor"><i>flex grow
   20.69      factor</i></a>, or if the sign of the free space is negative and the
   20.70      algorithm is using the <a href="#flex-shrink-factor"><i>flex shrink
   20.71      factor</i></a>, distribute the free space to each flexible item's main
   20.72 -    size in proportion to the item's flex ratio:
   20.73 +    size in proportion to the item's flex factor:
   20.74      <dl>
   20.75       <dt>If the free space is positive
   20.76  
   20.77 @@ -3415,11 +3415,12 @@
   20.78       <dd> For every item on the line, multiply its <a
   20.79        href="#flex-shrink-factor"><i>flex shrink factor</i></a> by its outer
   20.80        <a href="#flex-base-size"><i>flex base size</i></a>, and note this as
   20.81 -      its <dfn id=flex-shrink-ratio>flex shrink ratio</dfn>. Find the ratio
   20.82 -      of the item's <a href="#flex-shrink-ratio"><i>flex shrink ratio</i></a>
   20.83 -      to the sum of the <a href="#flex-shrink-ratio"><i>flex shrink
   20.84 -      ratios</i></a> of all items on the line. Set the item's main size to
   20.85 -      its <a href="#flex-base-size"><i>flex base size</i></a> minus a
   20.86 +      its <dfn id=scaled-flex-shrink-factor>scaled flex shrink factor</dfn>.
   20.87 +      Find the ratio of the item's <a
   20.88 +      href="#scaled-flex-shrink-factor"><i>scaled flex shrink factor</i></a>
   20.89 +      to the sum of the <a href="#scaled-flex-shrink-factor"><i>scaled flex
   20.90 +      shrink factors</i></a> of all items on the line. Set the item's main
   20.91 +      size to its <a href="#flex-base-size"><i>flex base size</i></a> minus a
   20.92        fraction of the absolute value of the free space proportional to the
   20.93        ratio. <span class=note>Note this may result in a negative inner main
   20.94        size; it will be corrected in the next step.</span>
   20.95 @@ -4391,9 +4392,6 @@
   20.96     <li>flex shrink factor, <a href="#flex-shrink-factor"
   20.97      title="flex shrink factor"><strong>7.1.</strong></a>
   20.98  
   20.99 -   <li>flex shrink ratio, <a href="#flex-shrink-ratio"
  20.100 -    title="flex shrink ratio"><strong>9.7.</strong></a>
  20.101 -
  20.102     <li>‘<a href="#align-content-flex-start"><code
  20.103      class=css>flex-start</code></a>’, <a href="#align-content-flex-start"
  20.104      title="''flex-start''"><strong>8.4.</strong></a>, <a
  20.105 @@ -4474,6 +4472,9 @@
  20.106      class=css>row-reverse</code></a>’, <a href="#flex-flow-row-reverse"
  20.107      title="''row-reverse''"><strong>5.1.</strong></a>
  20.108  
  20.109 +   <li>scaled flex shrink factor, <a href="#scaled-flex-shrink-factor"
  20.110 +    title="scaled flex shrink factor"><strong>9.7.</strong></a>
  20.111 +
  20.112     <li>single-line, <a href="#single-line"
  20.113      title=single-line><strong>6.</strong></a>
  20.114  
    21.1 --- a/css3-flexbox/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
    21.2 +++ b/css3-flexbox/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
    21.3 @@ -1522,7 +1522,7 @@
    21.4  				sets the 'flex-basis' <a href="#flex-components">longhand</a>
    21.5  				and specifies the <dfn>flex basis</dfn>:
    21.6  				the initial <i>main size</i> of the <i>flex item</i>,
    21.7 -				before free space is distributed according to the flex ratios.
    21.8 +				before free space is distributed according to the flex factors.
    21.9  				When omitted from the 'flex' shorthand, its specified value is the length zero. 
   21.10  			<p>
   21.11  				If the specified 'flex-basis' is <a href="#flex-basis-auto">''auto''</a>,
   21.12 @@ -1535,7 +1535,7 @@
   21.13  					(starting from a basis of zero)
   21.14  					and "relative" flex
   21.15  					(starting from a basis of the item's content size).
   21.16 -					The three items have flex ratios of ''1'', ''1'', and ''2'', respectively.
   21.17 +					The three items have flex factors of ''1'', ''1'', and ''2'', respectively.
   21.18  				</figcaption>
   21.19  			</figure>
   21.20  
   21.21 @@ -1556,7 +1556,7 @@
   21.22  		must be interpreted as a flex factor.
   21.23  		To avoid misinterpretation or invalid declarations,
   21.24  		authors must specify a zero <var>&lt;flex-basis></var> component
   21.25 -		with a unit or precede it by both flex ratios.
   21.26 +		with a unit or precede it by two flex factors.
   21.27  
   21.28  <h3 id='flex-common'>
   21.29  Common Values of 'flex'</h3>
   21.30 @@ -1602,7 +1602,7 @@
   21.31  			Makes the flex item flexible and sets the <i>flex basis</i> to zero,
   21.32  			resulting in an item that receives the specified proportion of the free space in the flex container.
   21.33  			If all items in the flex container use this pattern,
   21.34 -			their sizes will be proportional to the specified flex ratio.
   21.35 +			their sizes will be proportional to the specified flex factor.
   21.36  	</dl>
   21.37  
   21.38  	<p>
   21.39 @@ -2670,7 +2670,7 @@
   21.40  
   21.41  	<ol>
   21.42  		<li>
   21.43 -			<strong>Determine the used flex ratio.</strong>
   21.44 +			<strong>Determine the used flex factor.</strong>
   21.45  			Sum the outer <i>hypothetical main sizes</i> of all items on the line.
   21.46  			If the sum is less than the flex container's inner main size,
   21.47  			use the <i>flex grow factor</i> for the rest of this algorithm;
   21.48 @@ -2678,14 +2678,14 @@
   21.49  
   21.50  		<li>
   21.51  			<strong>Size inflexible items.</strong>
   21.52 -			For any items that have a flex ratio of zero,
   21.53 +			For any items that have a flex factor of zero,
   21.54  			set their used main size
   21.55  			to their <i>hypothetical main size</i>.
   21.56  
   21.57  		<li>
   21.58  			<strong>Check that you can distribute any space.</strong>
   21.59  			If all the flex items on the line are either frozen
   21.60 -			or have a flex ratio of zero,
   21.61 +			or have a flex factor of zero,
   21.62  			exit the algorithm.
   21.63  
   21.64  		<li>
   21.65 @@ -2695,11 +2695,11 @@
   21.66  			This is the free space.
   21.67  
   21.68  		<li>
   21.69 -			<strong>Distribute free space proportional to the flex ratios.</strong>
   21.70 +			<strong>Distribute free space proportional to the flex factors.</strong>
   21.71  			If the sign of the free space is positive and the algorithm is using the <i>flex grow factor</i>,
   21.72  			or if the sign of the free space is negative and the algorithm is using the <i>flex shrink factor</i>,
   21.73  			distribute the free space to each flexible item's main size 
   21.74 -			in proportion to the item's flex ratio:
   21.75 +			in proportion to the item's flex factor:
   21.76  
   21.77  			<dl>
   21.78  				<dt>If the free space is positive</dt>
   21.79 @@ -2716,9 +2716,9 @@
   21.80  					For every item on the line,
   21.81  					multiply its <i>flex shrink factor</i>
   21.82  					by its outer <i>flex base size</i>,
   21.83 -					and note this as its <dfn>flex shrink ratio</dfn>.
   21.84 -					Find the ratio of the item's <i>flex shrink ratio</i>
   21.85 -					to the sum of the <i>flex shrink ratios</i> of all items on the line.
   21.86 +					and note this as its <dfn>scaled flex shrink factor</dfn>.
   21.87 +					Find the ratio of the item's <i>scaled flex shrink factor</i>
   21.88 +					to the sum of the <i>scaled flex shrink factors</i> of all items on the line.
   21.89  					Set the item's main size
   21.90  					to its <i>flex base size</i>
   21.91  					minus a fraction of the absolute value of the free space
    22.1 --- a/css3-layout/Makefile	Fri Sep 21 16:00:07 2012 -0700
    22.2 +++ b/css3-layout/Makefile	Fri Sep 21 16:01:06 2012 -0700
    22.3 @@ -10,25 +10,31 @@
    22.4  #
    22.5  # Possible other options to add to the curl command below:
    22.6  # -F ids=on
    22.7 +# -F omitdchtml=on
    22.8 +
    22.9 +opts =
   22.10  
   22.11  cdate = $(shell date +%Y%m%d)
   22.12  
   22.13  %.html: %.src.html
   22.14  	@echo "Calling post-processor to generate $@..."
   22.15  	@curl -K ~/.curl-w3.org -s -S -F output=html -F file=@$< -F group=CSS \
   22.16 -	-F method=file -F date=$(cdate) -F status=$(status) -o $@ \
   22.17 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
   22.18  	https://cgi.w3.org/member-bin/process.cgi
   22.19  %.err: %.src.html
   22.20  	@echo "Calling post-processor to check $<..."
   22.21  	@curl -K ~/.curl-w3.org -s -S -F output=err -F file=@$< -F group=CSS \
   22.22 -	-F method=file -F date=$(cdate) -F status=$(status) -o $@ \
   22.23 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
   22.24  	https://cgi.w3.org/member-bin/process.cgi
   22.25  
   22.26  # For Dispositions of Comments in css3-background:
   22.27 +%.html: %.txt; awk -f issues-txt-to-html.awk $< >$@
   22.28  
   22.29 -%.html: %.txt
   22.30 -	awk -f issues-txt-to-html.awk $< >$@
   22.31 +# Rule to create EPS from FIG
   22.32 +%.eps: %.fig; fig2dev -m 0.8 -L eps -F -c $< $@
   22.33  
   22.34 +# Rule to create raster image versions of EPS images
   22.35 +%.png: %.eps; convert -density 96x96 $< $@
   22.36  
   22.37  
   22.38  all: check Overview.html
   22.39 @@ -56,3 +62,4 @@
   22.40  
   22.41  .PHONY: check commit update clean
   22.42  .DELETE_ON_ERROR:
   22.43 +.PRECIOUS: %.png
    23.1 --- a/css3-text-decor/Overview.html	Fri Sep 21 16:00:07 2012 -0700
    23.2 +++ b/css3-text-decor/Overview.html	Fri Sep 21 16:01:06 2012 -0700
    23.3 @@ -9,11 +9,11 @@
    23.4    <meta content="CSS Text Decoration Module Level 3 (CSS3 Text Decoration)"
    23.5     name=DC.title>
    23.6    <meta content=text name=DC.type>
    23.7 -  <meta content=2012-09-05 name=DC.issued>
    23.8 +  <meta content=2012-09-19 name=DC.issued>
    23.9    <meta content="Elika J. Etemad" name=DC.creator>
   23.10    <meta content="Koji Ishii" name=DC.creator>
   23.11    <meta content=W3C name=DC.publisher>
   23.12 -  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120905/"
   23.13 +  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120919/"
   23.14     name=DC.identifier>
   23.15    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   23.16     rel=DC.rights>
   23.17 @@ -30,8 +30,8 @@
   23.18  
   23.19     <h1>CSS Text Decoration Module Level 3</h1>
   23.20  
   23.21 -   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 5 September
   23.22 -    2012</h2>
   23.23 +   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 19
   23.24 +    September 2012</h2>
   23.25  
   23.26     <dl>
   23.27      <dt>This version:</dt>
   23.28 @@ -40,7 +40,7 @@
   23.29    -->
   23.30  
   23.31      <dd><a
   23.32 -     href="http://www.w3.org/TR/2012/WD-css3-text-20120905/">http://www.w3.org/TR/2012/WD-css3-text-20120905/</a>
   23.33 +     href="http://www.w3.org/TR/2012/WD-css3-text-20120919/">http://www.w3.org/TR/2012/WD-css3-text-20120919/</a>
   23.34  
   23.35      <dt>Latest version:
   23.36  
   23.37 @@ -161,6 +161,108 @@
   23.38      class=css>ink</code>’ value
   23.39    </ul>
   23.40  
   23.41 +  <h2 class="no-num no-toc" id=contents> Table of Contents</h2>
   23.42 +  <!--begin-toc-->
   23.43 +
   23.44 +  <ul class=toc>
   23.45 +   <li><a href="#intro"><span class=secno>1. </span> Introduction</a>
   23.46 +    <ul class=toc>
   23.47 +     <li><a href="#placement"><span class=secno>1.1. </span> Module
   23.48 +      Interactions</a>
   23.49 +
   23.50 +     <li><a href="#values"><span class=secno>1.2. </span> Values</a>
   23.51 +
   23.52 +     <li><a href="#terms"><span class=secno>1.3. </span>Terminology</a>
   23.53 +    </ul>
   23.54 +
   23.55 +   <li><a href="#line-decoration"><span class=secno>2. </span> Line
   23.56 +    Decoration: Underline, Overline, and Strike-Through</a>
   23.57 +    <ul class=toc>
   23.58 +     <li><a href="#text-decoration-line-property"><span class=secno>2.1.
   23.59 +      </span> Text Decoration Lines: the ‘<code
   23.60 +      class=property>text-decoration-line</code>’ property</a>
   23.61 +
   23.62 +     <li><a href="#text-decoration-color-property"><span class=secno>2.2.
   23.63 +      </span> Text Decoration Color: the ‘<code
   23.64 +      class=property>text-decoration-color</code>’ property</a>
   23.65 +
   23.66 +     <li><a href="#text-decoration-style-property"><span class=secno>2.3.
   23.67 +      </span> Text Decoration Style: the ‘<code
   23.68 +      class=property>text-decoration-style</code>’ property</a>
   23.69 +
   23.70 +     <li><a href="#text-decoration-property"><span class=secno>2.4. </span>
   23.71 +      Text Decoration Shorthand: the ‘<code
   23.72 +      class=property>text-decoration</code>’ property</a>
   23.73 +
   23.74 +     <li><a href="#text-decoration-skip-property"><span class=secno>2.5.
   23.75 +      </span> Text Decoration Line Continuity: the ‘<code
   23.76 +      class=property>text-decoration-skip</code>’ property</a>
   23.77 +      <ul class=toc>
   23.78 +       <li><a href="#text-underline-position-property"><span
   23.79 +        class=secno>2.5.1. </span> Text Underline Position: the ‘<code
   23.80 +        class=property>text-underline-position</code>’ property</a>
   23.81 +      </ul>
   23.82 +
   23.83 +     <li><a href="#emphasis-marks"><span class=secno>2.6. </span> Emphasis
   23.84 +      Marks</a>
   23.85 +      <ul class=toc>
   23.86 +       <li><a href="#text-emphasis-style-property"><span class=secno>2.6.1.
   23.87 +        </span> Emphasis Mark Style: the ‘<code
   23.88 +        class=property>text-emphasis-style</code>’ property</a>
   23.89 +
   23.90 +       <li><a href="#text-emphasis-color-property"><span class=secno>2.6.2.
   23.91 +        </span> Emphasis Mark Color: the ‘<code
   23.92 +        class=property>text-emphasis-color</code>’ property</a>
   23.93 +
   23.94 +       <li><a href="#text-emphasis-property"><span class=secno>2.6.3. </span>
   23.95 +        Emphasis Mark Shorthand: the ‘<code
   23.96 +        class=property>text-emphasis</code>’ property</a>
   23.97 +
   23.98 +       <li><a href="#text-emphasis-position-property"><span
   23.99 +        class=secno>2.6.4. </span> Emphasis Mark Position: the ‘<code
  23.100 +        class=property>text-emphasis-position</code>’ property</a>
  23.101 +      </ul>
  23.102 +
  23.103 +     <li><a href="#text-shadow-property"><span class=secno>2.7. </span> Text
  23.104 +      Shadows: the ‘<code class=property>text-shadow</code>’ property</a>
  23.105 +    </ul>
  23.106 +
  23.107 +   <li><a href="#conformance"><span class=secno>3. </span> Conformance</a>
  23.108 +    <ul class=toc>
  23.109 +     <li><a href="#conventions"><span class=secno>3.1. </span> Document
  23.110 +      Conventions</a>
  23.111 +
  23.112 +     <li><a href="#conformance-classes"><span class=secno>3.2. </span>
  23.113 +      Conformance Classes</a>
  23.114 +
  23.115 +     <li><a href="#partial"><span class=secno>3.3. </span> Partial
  23.116 +      Implementations</a>
  23.117 +
  23.118 +     <li><a href="#experimental"><span class=secno>3.4. </span> Experimental
  23.119 +      Implementations</a>
  23.120 +
  23.121 +     <li><a href="#testing"><span class=secno>3.5. </span>Non-Experimental
  23.122 +      Implementations</a>
  23.123 +
  23.124 +     <li><a href="#cr-exit-criteria"><span class=secno>3.6. </span> CR Exit
  23.125 +      Criteria</a>
  23.126 +    </ul>
  23.127 +
  23.128 +   <li class=no-num><a href="#acknowledgements"> Appendix A:
  23.129 +    Acknowledgements</a>
  23.130 +
  23.131 +   <li class=no-num><a href="#appendix-b-references">Appendix B:
  23.132 +    References</a>
  23.133 +    <ul class=toc>
  23.134 +     <li class=no-num><a href="#normative-ref">Normative references</a>
  23.135 +
  23.136 +     <li class=no-num><a href="#informative-ref">Informative references</a>
  23.137 +    </ul>
  23.138 +
  23.139 +   <li class=no-num><a href="#changes">Appendix C: Changes</a>
  23.140 +  </ul>
  23.141 +  <!--end-toc-->
  23.142 +
  23.143    <h2 id=intro><span class=secno>1. </span> Introduction</h2>
  23.144  
  23.145    <p>[document here]
    24.1 --- a/css3-text-decor/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
    24.2 +++ b/css3-text-decor/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
    24.3 @@ -109,6 +109,11 @@
    24.4        <li>the 'text-decoration-skip' property / ''ink'' value
    24.5      </ul>
    24.6  
    24.7 +<h2 class="no-num no-toc" id="contents">
    24.8 +Table of Contents</h2>
    24.9 +
   24.10 +<!--toc-->
   24.11 +
   24.12  <h2 id="intro">
   24.13  Introduction</h2>
   24.14  
    25.1 Binary file css3-text-decor/text-emphasis-ja.gif has changed
    26.1 Binary file css3-text-decor/text-emphasis-ruby.png has changed
    27.1 Binary file css3-text-decor/text-emphasis-v.gif has changed
    28.1 Binary file css3-text-decor/text-emphasis-zh.gif has changed
    29.1 Binary file css3-text-decor/underline-averaging.gif has changed
    30.1 Binary file css3-text-decor/underline-example.png has changed
    31.1 Binary file css3-text-decor/underline-position-alphabetic.png has changed
    32.1 Binary file css3-text-decor/underline-position-below.png has changed
    33.1 Binary file css3-text-decor/underline-position-left.png has changed
    34.1 Binary file css3-text-decor/underline-position-right.png has changed
    35.1 --- a/css3-text/Overview.html	Fri Sep 21 16:00:07 2012 -0700
    35.2 +++ b/css3-text/Overview.html	Fri Sep 21 16:01:06 2012 -0700
    35.3 @@ -8,11 +8,11 @@
    35.4    <link href="http://purl.org/dc/terms/" rel=schema.DC>
    35.5    <meta content="CSS Text Module Level 3 (CSS3 Text)" name=DC.title>
    35.6    <meta content=text name=DC.type>
    35.7 -  <meta content=2012-09-05 name=DC.issued>
    35.8 +  <meta content=2012-09-19 name=DC.issued>
    35.9    <meta content="Elika J. Etemad" name=DC.creator>
   35.10    <meta content="Koji Ishii" name=DC.creator>
   35.11    <meta content=W3C name=DC.publisher>
   35.12 -  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120905/"
   35.13 +  <meta content="http://www.w3.org/TR/2012/WD-css3-text-20120919/"
   35.14     name=DC.identifier>
   35.15    <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   35.16     rel=DC.rights>
   35.17 @@ -46,8 +46,8 @@
   35.18  
   35.19     <h1>CSS Text Module Level 3</h1>
   35.20  
   35.21 -   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 5 September
   35.22 -    2012</h2>
   35.23 +   <h2 class="no-num no-toc" id=longstatus-date>W3C Working Draft 19
   35.24 +    September 2012</h2>
   35.25  
   35.26     <dl>
   35.27      <dt>This version:</dt>
   35.28 @@ -56,7 +56,7 @@
   35.29    -->
   35.30  
   35.31      <dd><a
   35.32 -     href="http://www.w3.org/TR/2012/WD-css3-text-20120905/">http://www.w3.org/TR/2012/WD-css3-text-20120905/</a>
   35.33 +     href="http://www.w3.org/TR/2012/WD-css3-text-20120919/">http://www.w3.org/TR/2012/WD-css3-text-20120919/</a>
   35.34  
   35.35      <dt>Latest version:
   35.36  
   35.37 @@ -1262,8 +1262,8 @@
   35.38       <li>breaks before the Katakana-Hiragana prolonged sound mark:
   35.39        ー U+30FC, ー U+FF70
   35.40      </ul>
   35.41 -    If the <a href="#content-language"><i>content language</i></a> is Chinese
   35.42 -    or Japanese, then additionally:
   35.43 +    If the <a href="#content-language"><i>content language</i></a> is
   35.44 +    Chinese, Japanese, or Korean, then additionally:
   35.45      <ul>
   35.46       <li>breaks before hyphens:<br>
   35.47        ‐ U+2010, – U+2013, 〜 U+301C, ゠ U+30A0
   35.48 @@ -1280,8 +1280,8 @@
   35.49       <li>breaks between some inseparable characters:<br>
   35.50        ‥ U+2025, … U+2026
   35.51      </ul>
   35.52 -    If the <a href="#content-language"><i>content language</i></a> is Chinese
   35.53 -    or Japanese, then additionally:
   35.54 +    If the <a href="#content-language"><i>content language</i></a> is
   35.55 +    Chinese, Japanese, or Korean, then additionally:
   35.56      <ul>
   35.57       <li>breaks before certain centered punctuation marks:<br>
   35.58        : U+003A, ; U+003B, ・ U+30FB, : U+FF1A, ; U+FF1B,
   35.59 @@ -3146,8 +3146,8 @@
   35.60     name=text-emphasis-style></a> <a name=text-emphasis-color></a> <a
   35.61     name=text-emphasis></a> <a name=text-emphasis-position></a> <a
   35.62     name=text-shadow></a> Text decoration has moved to <a
   35.63 -   href="http://www.w3.org/TR/css3-text-decor/">CSS Text Decoration Module
   35.64 -   Level 3</a>. [[CSS3TXTDECOR]]
   35.65 +   href="../css3-text-decor/">CSS Text Decoration Module Level 3</a>.
   35.66 +   [[CSS3TXTDECOR]]
   35.67  
   35.68    <h2 id=conformance><span class=secno>11. </span> Conformance</h2>
   35.69  
   35.70 @@ -3462,10 +3462,10 @@
   35.71     <dt id=CSS3VAL>[CSS3VAL]
   35.72  
   35.73     <dd>Håkon Wium Lie; Tab Atkins; Elika J. Etemad. <a
   35.74 -    href="http://www.w3.org/TR/2012/WD-css3-values-20120308/"><cite>CSS
   35.75 -    Values and Units Module Level 3.</cite></a> 8 March 2012. W3C Working
   35.76 -    Draft. (Work in progress.) URL: <a
   35.77 -    href="http://www.w3.org/TR/2012/WD-css3-values-20120308/">http://www.w3.org/TR/2012/WD-css3-values-20120308/</a>
   35.78 +    href="http://www.w3.org/TR/2012/CR-css3-values-20120828/"><cite>CSS
   35.79 +    Values and Units Module Level 3.</cite></a> 28 August 2012. W3C Candidate
   35.80 +    Recommendation. (Work in progress.) URL: <a
   35.81 +    href="http://www.w3.org/TR/2012/CR-css3-values-20120828/">http://www.w3.org/TR/2012/CR-css3-values-20120828/</a>
   35.82     </dd>
   35.83     <!---->
   35.84  
    36.1 --- a/css3-text/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
    36.2 +++ b/css3-text/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
    36.3 @@ -2345,7 +2345,7 @@
    36.4      <a name="text-emphasis-position"></a>
    36.5      <a name="text-shadow"></a>
    36.6      Text decoration has moved to
    36.7 -    <a href="http://www.w3.org/TR/css3-text-decor/">CSS Text Decoration Module Level 3</a>.
    36.8 +    <a href="../css3-text-decor/">CSS Text Decoration Module Level 3</a>.
    36.9      [[CSS3TXTDECOR]]
   36.10  
   36.11  <h2 id="conformance">
    37.1 Binary file css3-text/text-emphasis-ja.gif has changed
    38.1 Binary file css3-text/text-emphasis-ruby.png has changed
    39.1 Binary file css3-text/text-emphasis-v.gif has changed
    40.1 Binary file css3-text/text-emphasis-zh.gif has changed
    41.1 Binary file css3-text/underline-averaging.gif has changed
    42.1 Binary file css3-text/underline-example.png has changed
    43.1 Binary file css3-text/underline-position-alphabetic.png has changed
    44.1 Binary file css3-text/underline-position-below.png has changed
    45.1 Binary file css3-text/underline-position-left.png has changed
    46.1 Binary file css3-text/underline-position-right.png has changed
    47.1 --- a/css3-transitions/Overview.html	Fri Sep 21 16:00:07 2012 -0700
    47.2 +++ b/css3-transitions/Overview.html	Fri Sep 21 16:01:06 2012 -0700
    47.3 @@ -2,11 +2,21 @@
    47.4  "http://www.w3.org/TR/html4/strict.dtd">
    47.5  
    47.6  <html lang=en>
    47.7 - <head>
    47.8 + <head profile="http://dublincore.org/documents/2008/08/04/dc-html/ ">
    47.9    <title>CSS Transitions</title>
   47.10 +
   47.11 +  <link href="http://purl.org/dc/terms/" rel=schema.DC>
   47.12 +  <meta content="CSS Transitions" name=DC.title>
   47.13 +  <meta content=text name=DC.type>
   47.14 +  <meta content=2012-09-20 name=DC.issued>
   47.15 +  <meta content="http://dev.w3.org/csswg/css3-transitions/" name=DC.creator>
   47.16 +  <meta content=W3C name=DC.publisher>
   47.17 +  <meta content="http://www.w3.org/TR/2012/ED-css3-transitions-20120920/"
   47.18 +   name=DC.identifier>
   47.19 +  <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"
   47.20 +   rel=DC.rights>
   47.21    <meta content="text/html; charset=utf-8" http-equiv=Content-Type>
   47.22    <link href="../default.css" rel=stylesheet type="text/css">
   47.23 -
   47.24    <style type="text/css">
   47.25      table.animatable-properties {
   47.26        border-collapse: collapse;
   47.27 @@ -15,9 +25,10 @@
   47.28        padding: 0.2em 1em;
   47.29        border: 1px solid black;
   47.30      }
   47.31 +    div.prod { margin: 1em 2em; }
   47.32    </style>
   47.33    <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet
   47.34 -  type="text/css">
   47.35 +   type="text/css">
   47.36  
   47.37   <body>
   47.38    <div class=head> <!--begin-logo-->
   47.39 @@ -26,14 +37,15 @@
   47.40  
   47.41     <h1>CSS Transitions</h1>
   47.42  
   47.43 -   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 12 July 2012</h2>
   47.44 +   <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 20 September
   47.45 +    2012</h2>
   47.46  
   47.47     <dl>
   47.48      <dt>This version:
   47.49  
   47.50 -    <dd> <a href="http://www.w3.org/TR/2012/ED-css3-transitions-20120712/">
   47.51 +    <dd> <a href="http://www.w3.org/TR/2012/ED-css3-transitions-20120920/">
   47.52       http://dev.w3.org/csswg/css3-transitions/</a>
   47.53 -     <!--http://www.w3.org/TR/2012/WD-css3-transitions-20120712/-->
   47.54 +     <!--http://www.w3.org/TR/2012/WD-css3-transitions-20120920/-->
   47.55  
   47.56      <dt>Latest version:
   47.57  
   47.58 @@ -44,7 +56,6 @@
   47.59  
   47.60      <dd><a
   47.61       href="http://dev.w3.org/csswg/css3-transitions/">http://dev.w3.org/csswg/css3-transitions/</a>
   47.62 -     
   47.63  
   47.64      <dt>Previous version:
   47.65  
   47.66 @@ -253,7 +264,7 @@
   47.67     properties. For example:
   47.68  
   47.69    <div class=example>
   47.70 -   <p style="display:none"> Example(s):</p>
   47.71 +   <p style="display:none"> Example(s):
   47.72  
   47.73     <pre>
   47.74    div {
   47.75 @@ -272,7 +283,7 @@
   47.76     from the same index in all the lists. For example:
   47.77  
   47.78    <div class=example>
   47.79 -   <p style="display:none"> Example(s):</p>
   47.80 +   <p style="display:none"> Example(s):
   47.81  
   47.82     <pre>
   47.83    div {
   47.84 @@ -304,7 +315,7 @@
   47.85     class=property>transition-property</code></a>’. </span>
   47.86  
   47.87    <div class=example>
   47.88 -   <p style="display:none"> Example(s):</p>
   47.89 +   <p style="display:none"> Example(s):
   47.90  
   47.91     <pre>
   47.92        div {
   47.93 @@ -343,8 +354,11 @@
   47.94      <tr>
   47.95       <td> <em>Value:</em>
   47.96  
   47.97 -     <td> none | [ all | &lt;IDENT&gt; ] [ ‘<code class=css>,</code>’ [
   47.98 -      all | &lt;IDENT&gt; ] ]*
   47.99 +     <td> none | <a
  47.100 +      href="#single-transition-property">&lt;single-transition-property&gt;</a>
  47.101 +      [ ‘<code class=css>,</code>’ <a
  47.102 +      href="#single-transition-property">&lt;single-transition-property&gt;</a>
  47.103 +      ]*
  47.104  
  47.105      <tr>
  47.106       <td> <em>Initial:</em>
  47.107 @@ -362,6 +376,11 @@
  47.108       <td> no
  47.109  
  47.110      <tr>
  47.111 +     <td> <em>Animatable:</em>
  47.112 +
  47.113 +     <td> no
  47.114 +
  47.115 +    <tr>
  47.116       <td> <em>Percentages:</em>
  47.117  
  47.118       <td> N/A
  47.119 @@ -375,8 +394,18 @@
  47.120       <td> <em>Computed value:</em>
  47.121  
  47.122       <td> Same as specified value.
  47.123 +
  47.124 +    <tr>
  47.125 +     <td> <em>Canonical order:</em>
  47.126 +
  47.127 +     <td> <abbr title="follows order of property value definition">per
  47.128 +      grammar</abbr>
  47.129    </table>
  47.130  
  47.131 +  <div class=prod> <dfn
  47.132 +   id=single-transition-property>&lt;single-transition-property&gt;</dfn> =
  47.133 +   all | &lt;IDENT&gt;</div>
  47.134 +
  47.135    <p> A value of ‘<code class=property>none</code>’ means that no
  47.136     property will transition. Otherwise, a list of properties to be
  47.137     transitioned, or the keyword ‘<code class=property>all</code>’ which
  47.138 @@ -441,7 +470,7 @@
  47.139      <tr>
  47.140       <td> <em>Value:</em>
  47.141  
  47.142 -     <td> &lt;time&gt; [, &lt;time&gt;]*
  47.143 +     <td> <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
  47.144  
  47.145      <tr>
  47.146       <td> <em>Initial:</em>
  47.147 @@ -459,6 +488,11 @@
  47.148       <td> no
  47.149  
  47.150      <tr>
  47.151 +     <td> <em>Animatable:</em>
  47.152 +
  47.153 +     <td> no
  47.154 +
  47.155 +    <tr>
  47.156       <td> <em>Percentages:</em>
  47.157  
  47.158       <td> N/A
  47.159 @@ -472,6 +506,12 @@
  47.160       <td> <em>Computed value:</em>
  47.161  
  47.162       <td> Same as specified value.
  47.163 +
  47.164 +    <tr>
  47.165 +     <td> <em>Canonical order:</em>
  47.166 +
  47.167 +     <td> <abbr title="follows order of property value definition">per
  47.168 +      grammar</abbr>
  47.169    </table>
  47.170  
  47.171    <p> This property specifies how long the transition from the old value to
  47.172 @@ -540,18 +580,15 @@
  47.173       <td> <em>Name:</em>
  47.174  
  47.175       <td> <dfn id=transition-timing-function>transition-timing-function</dfn>
  47.176 -      
  47.177  
  47.178      <tr>
  47.179       <td> <em>Value:</em>
  47.180  
  47.181 -     <td> [ ease | linear | ease-in | ease-out | ease-in-out | step-start |
  47.182 -      step-end | steps(&lt;integer&gt;[, [ start | end ] ]?) |
  47.183 -      cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
  47.184 -      &lt;number&gt;) ] [, [ ease | linear | ease-in | ease-out | ease-in-out
  47.185 -      | step-start | step-end | steps(&lt;number&gt;[, [ start | end ] ]?) |
  47.186 -      cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
  47.187 -      &lt;number&gt;) ] ]*
  47.188 +     <td> <a
  47.189 +      href="#single-transition-timing-function">&lt;single-transition-timing-function&gt;</a>
  47.190 +      [ ‘<code class=css>,</code>’ <a
  47.191 +      href="#single-transition-timing-function">&lt;single-transition-timing-function&gt;</a>
  47.192 +      ]*
  47.193  
  47.194      <tr>
  47.195       <td> <em>Initial:</em>
  47.196 @@ -569,6 +606,11 @@
  47.197       <td> no
  47.198  
  47.199      <tr>
  47.200 +     <td> <em>Animatable:</em>
  47.201 +
  47.202 +     <td> no
  47.203 +
  47.204 +    <tr>
  47.205       <td> <em>Percentages:</em>
  47.206  
  47.207       <td> N/A
  47.208 @@ -582,8 +624,21 @@
  47.209       <td> <em>Computed value:</em>
  47.210  
  47.211       <td> Same as specified value.
  47.212 +
  47.213 +    <tr>
  47.214 +     <td> <em>Canonical order:</em>
  47.215 +
  47.216 +     <td> <abbr title="follows order of property value definition">per
  47.217 +      grammar</abbr>
  47.218    </table>
  47.219  
  47.220 +  <div class=prod> <dfn
  47.221 +   id=single-transition-timing-function>&lt;single-transition-timing-function&gt;</dfn>
  47.222 +   = ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end
  47.223 +   | steps(&lt;integer&gt;[, [ start | end ] ]?) |
  47.224 +   cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
  47.225 +   &lt;number&gt;)</div>
  47.226 +
  47.227    <p> The timing functions have the following definitions.
  47.228  
  47.229    <dl>
  47.230 @@ -605,7 +660,6 @@
  47.231     <dt> ease-out
  47.232  
  47.233     <dd> The ease-out function is equivalent to cubic-bezier(0, 0, 0.58, 1.0).
  47.234 -    
  47.235  
  47.236     <dt> ease-in-out
  47.237  
  47.238 @@ -677,7 +731,7 @@
  47.239      <tr>
  47.240       <td> <em>Value:</em>
  47.241  
  47.242 -     <td> &lt;time&gt; [, &lt;time&gt;]*
  47.243 +     <td> <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
  47.244  
  47.245      <tr>
  47.246       <td> <em>Initial:</em>
  47.247 @@ -695,6 +749,11 @@
  47.248       <td> no
  47.249  
  47.250      <tr>
  47.251 +     <td> <em>Animatable:</em>
  47.252 +
  47.253 +     <td> no
  47.254 +
  47.255 +    <tr>
  47.256       <td> <em>Percentages:</em>
  47.257  
  47.258       <td> N/A
  47.259 @@ -708,6 +767,12 @@
  47.260       <td> <em>Computed value:</em>
  47.261  
  47.262       <td> Same as specified value.
  47.263 +
  47.264 +    <tr>
  47.265 +     <td> <em>Canonical order:</em>
  47.266 +
  47.267 +     <td> <abbr title="follows order of property value definition">per
  47.268 +      grammar</abbr>
  47.269    </table>
  47.270    <!-- ======================================================================================================= -->
  47.271  
  47.272 @@ -719,14 +784,6 @@
  47.273     shorthand property combines the four properties described above into a
  47.274     single property.
  47.275  
  47.276 -  <p> Note that order is important in this property. The first value that can
  47.277 -   be parsed as a time is assigned to the transition-duration. The second
  47.278 -   value that can be parsed as a time is assigned to transition-delay.
  47.279 -
  47.280 -  <p class=issue> An alternative proposal is to accept the font shorthand
  47.281 -   approach of using a "/" character between the values of the same type.
  47.282 -   e.g. 2s/4s would mean a duration of 2 seconds and a delay of 4 seconds.
  47.283 -
  47.284    <table class=propdef>
  47.285     <tbody>
  47.286      <tr>
  47.287 @@ -737,22 +794,9 @@
  47.288      <tr>
  47.289       <td> <em>Value:</em>
  47.290  
  47.291 -     <td> [&lt;‘<a href="#transition-property"><code
  47.292 -      class=property>transition-property</code></a>’&gt; || &lt;‘<a
  47.293 -      href="#transition-duration"><code
  47.294 -      class=property>transition-duration</code></a>’&gt; || &lt;‘<a
  47.295 -      href="#transition-timing-function"><code
  47.296 -      class=property>transition-timing-function</code></a>’&gt; ||
  47.297 -      &lt;‘<a href="#transition-delay"><code
  47.298 -      class=property>transition-delay</code></a>’&gt; [, [&lt;‘<a
  47.299 -      href="#transition-property"><code
  47.300 -      class=property>transition-property</code></a>’&gt; || &lt;‘<a
  47.301 -      href="#transition-duration"><code
  47.302 -      class=property>transition-duration</code></a>’&gt; || &lt;‘<a
  47.303 -      href="#transition-timing-function"><code
  47.304 -      class=property>transition-timing-function</code></a>’&gt; ||
  47.305 -      &lt;‘<a href="#transition-delay"><code
  47.306 -      class=property>transition-delay</code></a>’&gt;]]*
  47.307 +     <td> <a href="#single-transition">&lt;single-transition&gt;</a> [
  47.308 +      ‘<code class=css>,</code>’ <a
  47.309 +      href="#single-transition">&lt;single-transition&gt;</a> ]*
  47.310  
  47.311      <tr>
  47.312       <td> <em>Initial:</em>
  47.313 @@ -770,6 +814,11 @@
  47.314       <td> no
  47.315  
  47.316      <tr>
  47.317 +     <td> <em>Animatable:</em>
  47.318 +
  47.319 +     <td> no
  47.320 +
  47.321 +    <tr>
  47.322       <td> <em>Percentages:</em>
  47.323  
  47.324       <td> N/A
  47.325 @@ -783,8 +832,36 @@
  47.326       <td> <em>Computed value:</em>
  47.327  
  47.328       <td> Same as specified value.
  47.329 +
  47.330 +    <tr>
  47.331 +     <td> <em>Canonical order:</em>
  47.332 +
  47.333 +     <td> <abbr title="follows order of property value definition">per
  47.334 +      grammar</abbr>
  47.335    </table>
  47.336  
  47.337 +  <div class=prod> <dfn id=single-transition>&lt;single-transition&gt;</dfn>
  47.338 +   = [ none | <a
  47.339 +   href="#single-transition-property">&lt;single-transition-property&gt;</a>
  47.340 +   ] || <span>&lt;time&gt;</span> || <a
  47.341 +   href="#single-transition-timing-function">&lt;single-transition-timing-function&gt;</a>
  47.342 +   || <span>&lt;time&gt;</span></div>
  47.343 +
  47.344 +  <p> Note that order is important within the items in this property: the
  47.345 +   first value that can be parsed as a time is assigned to the
  47.346 +   transition-duration, and the second value that can be parsed as a time is
  47.347 +   assigned to transition-delay.
  47.348 +
  47.349 +  <p class=issue> An alternative proposal is to accept the font shorthand
  47.350 +   approach of using a "/" character between the values of the same type.
  47.351 +   e.g. 2s/4s would mean a duration of 2 seconds and a delay of 4 seconds.
  47.352 +
  47.353 +  <p> If there is more than one <a
  47.354 +   href="#single-transition">&lt;single-transition&gt;</a> in the shorthand,
  47.355 +   and any of the transitions has ‘<code class=css>none</code>’ as the <a
  47.356 +   href="#single-transition-property">&lt;single-transition-property&gt;</a>,
  47.357 +   then the declaration is invalid.
  47.358 +
  47.359    <h2 id=starting><span class=secno>3. </span> Starting of transitions</h2>
  47.360  
  47.361    <p> When the computed value of an animatable property changes,
  47.362 @@ -800,7 +877,7 @@
  47.363     animatable property would first have its new computed value.
  47.364  
  47.365    <div class=example id=manual-reversing-example>
  47.366 -   <p style="display:none"> Example(s):</p>
  47.367 +   <p style="display:none"> Example(s):
  47.368  
  47.369     <p>This provides a way for authors to specify different values of the
  47.370      ‘<code class=css>transition-*</code>’ properties for the
  47.371 @@ -818,7 +895,7 @@
  47.372      transition. Since it's the new values of these ‘<code
  47.373      class=css>transition-*</code>’ properties that affect the transition,
  47.374      these values will be used for the transitions <em>to</em> the associated
  47.375 -    transitioning values. For example:</p>
  47.376 +    transitioning values. For example:
  47.377  
  47.378     <pre>li {
  47.379    transition: background-color linear 1s;
  47.380 @@ -838,7 +915,7 @@
  47.381      class=property>blue</code>’ to ‘<code class=property>green</code>’
  47.382      takes 2 seconds. However, when the list item leaves the :hover state, the
  47.383      transition from ‘<code class=property>green</code>’ to ‘<code
  47.384 -    class=property>blue</code>’ takes 1 second.</p>
  47.385 +    class=property>blue</code>’ takes 1 second.
  47.386    </div>
  47.387  
  47.388    <p> When the computed value of a property changes, implementations must
  47.389 @@ -918,7 +995,6 @@
  47.390    <ol>
  47.391     <li> Use the B and A states as its "from" and "to" states respectively. It
  47.392      does not use the current value as its from state, due to the rules below.
  47.393 -    
  47.394  
  47.395     <li> Execute with the same duration T, but starting as if the transition
  47.396      had already begun, without any transition delay, at the moment which
  47.397 @@ -982,7 +1058,7 @@
  47.398  
  47.399     <dd>
  47.400      <p> The <code>TransitionEvent</code> interface provides specific
  47.401 -     contextual information associated with transitions.</p>
  47.402 +     contextual information associated with transitions.
  47.403  
  47.404      <dl>
  47.405       <dt> <b>IDL Definition</b>
  47.406 @@ -1048,7 +1124,6 @@
  47.407         <dt> <code class=method-name><a
  47.408          id=Events-TransitionEvent-initTransitionEvent
  47.409          name=Events-TransitionEvent-initTransitionEvent>initTransitionEvent</a></code>
  47.410 -        
  47.411  
  47.412         <dd>
  47.413          <div class=method> The <code>initTransitionEvent</code> method is
  47.414 @@ -1061,7 +1136,7 @@
  47.415           times during that phase if necessary. If called multiple times, the
  47.416           final invocation takes precedence.
  47.417           <p class=issue>Should new events being created still have init*Event
  47.418 -          methods?</p>
  47.419 +          methods?
  47.420  
  47.421           <div class=parameters> <b>Parameters</b>
  47.422            <div class=paramtable>
  47.423 @@ -1562,8 +1637,9 @@
  47.424  
  47.425    <h2 id=acknowledgments><span class=secno>8. </span>Acknowledgments</h2>
  47.426  
  47.427 -  <p>Thanks especially to the feedback from Tab Atkins, Aryeh Gregor, Vincent
  47.428 -   Hardy, Cameron McCormack, Alex Mogilevsky, and all the rest of the <a
  47.429 +  <p>Thanks especially to the feedback from Tab Atkins, Carine Bournez, Aryeh
  47.430 +   Gregor, Vincent Hardy, Cameron McCormack, Alex Mogilevsky, and all the
  47.431 +   rest of the <a
  47.432     href="http://lists.w3.org/Archives/Public/www-style/">www-style</a>
  47.433     community.
  47.434  
  47.435 @@ -1584,7 +1660,7 @@
  47.436      Transforms.</cite></a> 3 April 2012. W3C Working Draft. (Work in
  47.437      progress.) URL: <a
  47.438      href="http://www.w3.org/TR/2012/WD-css3-transforms-20120403/">http://www.w3.org/TR/2012/WD-css3-transforms-20120403/</a>
  47.439 -    </dd>
  47.440 +   </dd>
  47.441     <!---->
  47.442    </dl>
  47.443    <!--end-normative-->
  47.444 @@ -1604,7 +1680,7 @@
  47.445      Sheets Level 2 Revision 1 (CSS 2.1) Specification.</cite></a> 7 June
  47.446      2011. W3C Recommendation. URL: <a
  47.447      href="http://www.w3.org/TR/2011/REC-CSS2-20110607">http://www.w3.org/TR/2011/REC-CSS2-20110607</a>
  47.448 -    </dd>
  47.449 +   </dd>
  47.450     <!---->
  47.451  
  47.452     <dt id=CSS3-IMAGES>[CSS3-IMAGES]
  47.453 @@ -1614,7 +1690,7 @@
  47.454      Values and Replaced Content Module Level 3.</cite></a> 17 April 2012. W3C
  47.455      Candidate Recommendation. (Work in progress.) URL: <a
  47.456      href="http://www.w3.org/TR/2012/CR-css3-images-20120417/">http://www.w3.org/TR/2012/CR-css3-images-20120417/</a>
  47.457 -    </dd>
  47.458 +   </dd>
  47.459     <!---->
  47.460    </dl>
  47.461    <!--end-informative-->
  47.462 @@ -1641,27 +1717,6 @@
  47.463  
  47.464     <tbody>
  47.465      <tr>
  47.466 -     <th><a class=property href="#transition">transition</a>
  47.467 -
  47.468 -     <td>[&lt;‘transition-property’&gt; ||
  47.469 -      &lt;‘transition-duration’&gt; ||
  47.470 -      &lt;‘transition-timing-function’&gt; ||
  47.471 -      &lt;‘transition-delay’&gt; [, [&lt;‘transition-property’&gt; ||
  47.472 -      &lt;‘transition-duration’&gt; ||
  47.473 -      &lt;‘transition-timing-function’&gt; ||
  47.474 -      &lt;‘transition-delay’&gt;]]*
  47.475 -
  47.476 -     <td>see individual properties
  47.477 -
  47.478 -     <td>all elements, :before and :after pseudo elements
  47.479 -
  47.480 -     <td>no
  47.481 -
  47.482 -     <td>N/A
  47.483 -
  47.484 -     <td>interactive
  47.485 -
  47.486 -    <tr>
  47.487       <th><a class=property href="#transition-delay">transition-delay</a>
  47.488  
  47.489       <td>&lt;time&gt; [, &lt;time&gt;]*
  47.490 @@ -1696,7 +1751,8 @@
  47.491       <th><a class=property
  47.492        href="#transition-property">transition-property</a>
  47.493  
  47.494 -     <td>none | [ all | &lt;IDENT&gt; ] [ ‘,’ [ all | &lt;IDENT&gt; ] ]*
  47.495 +     <td>none | &lt;single-transition-property&gt; [ ‘,’
  47.496 +      &lt;single-transition-property&gt; ]*
  47.497  
  47.498       <td>all
  47.499  
  47.500 @@ -1709,16 +1765,26 @@
  47.501       <td>visual
  47.502  
  47.503      <tr>
  47.504 +     <th><a class=property href="#transition">transition</a>
  47.505 +
  47.506 +     <td>&lt;single-transition&gt; [ ‘,’ &lt;single-transition&gt; ]*
  47.507 +
  47.508 +     <td>see individual properties
  47.509 +
  47.510 +     <td>all elements, :before and :after pseudo elements
  47.511 +
  47.512 +     <td>no
  47.513 +
  47.514 +     <td>N/A
  47.515 +
  47.516 +     <td>interactive
  47.517 +
  47.518 +    <tr>
  47.519       <th><a class=property
  47.520        href="#transition-timing-function">transition-timing-function</a>
  47.521  
  47.522 -     <td>[ ease | linear | ease-in | ease-out | ease-in-out | step-start |
  47.523 -      step-end | steps(&lt;integer&gt;[, [ start | end ] ]?) |
  47.524 -      cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
  47.525 -      &lt;number&gt;) ] [, [ ease | linear | ease-in | ease-out | ease-in-out
  47.526 -      | step-start | step-end | steps(&lt;number&gt;[, [ start | end ] ]?) |
  47.527 -      cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;,
  47.528 -      &lt;number&gt;) ] ]*
  47.529 +     <td>&lt;single-transition-timing-function&gt; [ ‘,’
  47.530 +      &lt;single-transition-timing-function&gt; ]*
  47.531  
  47.532       <td>ease
  47.533  
  47.534 @@ -1739,6 +1805,17 @@
  47.535     <li>combined duration, <a href="#combined-duration"
  47.536      title="combined duration"><strong>3.</strong></a>
  47.537  
  47.538 +   <li>&lt;single-transition&gt;, <a href="#single-transition"
  47.539 +    title="&lt;single-transition&gt;"><strong>2.5.</strong></a>
  47.540 +
  47.541 +   <li>&lt;single-transition-property&gt;, <a
  47.542 +    href="#single-transition-property"
  47.543 +    title="&lt;single-transition-property&gt;"><strong>2.1.</strong></a>
  47.544 +
  47.545 +   <li>&lt;single-transition-timing-function&gt;, <a
  47.546 +    href="#single-transition-timing-function"
  47.547 +    title="&lt;single-transition-timing-function&gt;"><strong>2.3.</strong></a>
  47.548 +
  47.549     <li>transition, <a href="#transition"
  47.550      title=transition><strong>2.5.</strong></a>
  47.551  
    48.1 --- a/css3-transitions/Overview.src.html	Fri Sep 21 16:00:07 2012 -0700
    48.2 +++ b/css3-transitions/Overview.src.html	Fri Sep 21 16:01:06 2012 -0700
    48.3 @@ -14,6 +14,7 @@
    48.4        padding: 0.2em 1em;
    48.5        border: 1px solid black;
    48.6      }
    48.7 +    div.prod { margin: 1em 2em; }
    48.8    </style>
    48.9    <link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css">
   48.10  </head>
   48.11 @@ -200,7 +201,7 @@
   48.12                <em>Value:</em>
   48.13              </td>
   48.14              <td>
   48.15 -              none | [ all | &lt;IDENT&gt; ] [ ',' [ all | &lt;IDENT&gt; ] ]*
   48.16 +              none | <span>&lt;single-transition-property&gt;</span> [ ',' <span>&lt;single-transition-property&gt;</span> ]*
   48.17              </td>
   48.18            </tr>
   48.19            <tr>
   48.20 @@ -229,6 +230,14 @@
   48.21            </tr>
   48.22            <tr>
   48.23              <td>
   48.24 +              <em>Animatable:</em>
   48.25 +            </td>
   48.26 +            <td>
   48.27 +              no
   48.28 +            </td>
   48.29 +          </tr>
   48.30 +          <tr>
   48.31 +            <td>
   48.32                <em>Percentages:</em>
   48.33              </td>
   48.34              <td>
   48.35 @@ -251,9 +260,21 @@
   48.36                Same as specified value.
   48.37              </td>
   48.38            </tr>
   48.39 +          <tr>
   48.40 +            <td>
   48.41 +              <em>Canonical order:</em>
   48.42 +            </td>
   48.43 +            <td>
   48.44 +              <abbr title="follows order of property value definition">per grammar</abbr>
   48.45 +            </td>
   48.46 +          </tr>
   48.47          </tbody>
   48.48        </table>
   48.49  
   48.50 +      <div class="prod">
   48.51 +        <dfn id="single-transition-property">&lt;single-transition-property&gt;</dfn> = all | &lt;IDENT&gt;
   48.52 +      </div>
   48.53 +
   48.54        <p>
   48.55          A value of 'none' means that no property will transition.
   48.56          Otherwise, a list of properties to be transitioned, or the
   48.57 @@ -319,7 +340,7 @@
   48.58                <em>Value:</em>
   48.59              </td>
   48.60              <td>
   48.61 -              &lt;time&gt; [, &lt;time&gt;]*
   48.62 +              <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
   48.63              </td>
   48.64            </tr>
   48.65            <tr>
   48.66 @@ -348,6 +369,14 @@
   48.67            </tr>
   48.68            <tr>
   48.69              <td>
   48.70 +              <em>Animatable:</em>
   48.71 +            </td>
   48.72 +            <td>
   48.73 +              no
   48.74 +            </td>
   48.75 +          </tr>
   48.76 +          <tr>
   48.77 +            <td>
   48.78                <em>Percentages:</em>
   48.79              </td>
   48.80              <td>
   48.81 @@ -370,6 +399,14 @@
   48.82                Same as specified value.
   48.83              </td>
   48.84            </tr>
   48.85 +          <tr>
   48.86 +            <td>
   48.87 +              <em>Canonical order:</em>
   48.88 +            </td>
   48.89 +            <td>
   48.90 +              <abbr title="follows order of property value definition">per grammar</abbr>
   48.91 +            </td>
   48.92 +          </tr>
   48.93          </tbody>
   48.94        </table>
   48.95        <p>
   48.96 @@ -466,7 +503,7 @@
   48.97                <em>Value:</em>
   48.98              </td>
   48.99              <td>
  48.100 -              [ ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end | steps(&lt;integer&gt;[, [ start | end ] ]?) | cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;, &lt;number&gt;) ] [, [ ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end | steps(&lt;number&gt;[, [ start | end ] ]?) | cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;, &lt;number&gt;) ] ]*
  48.101 +              <span>&lt;single-transition-timing-function&gt;</span> [ ',' <span>&lt;single-transition-timing-function&gt;</span> ]*
  48.102              </td>
  48.103            </tr>
  48.104            <tr>
  48.105 @@ -495,6 +532,14 @@
  48.106            </tr>
  48.107            <tr>
  48.108              <td>
  48.109 +              <em>Animatable:</em>
  48.110 +            </td>
  48.111 +            <td>
  48.112 +              no
  48.113 +            </td>
  48.114 +          </tr>
  48.115 +          <tr>
  48.116 +            <td>
  48.117                <em>Percentages:</em>
  48.118              </td>
  48.119              <td>
  48.120 @@ -517,8 +562,19 @@
  48.121                Same as specified value.
  48.122              </td>
  48.123            </tr>
  48.124 +          <tr>
  48.125 +            <td>
  48.126 +              <em>Canonical order:</em>
  48.127 +            </td>
  48.128 +            <td>
  48.129 +              <abbr title="follows order of property value definition">per grammar</abbr>
  48.130 +            </td>
  48.131 +          </tr>
  48.132          </tbody>
  48.133        </table>
  48.134 +      <div class="prod">
  48.135 +        <dfn id="single-transition-timing-function">&lt;single-transition-timing-function&gt;</dfn> = ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end | steps(&lt;integer&gt;[, [ start | end ] ]?) | cubic-bezier(&lt;number&gt;, &lt;number&gt;, &lt;number&gt;, &lt;number&gt;)
  48.136 +      </div>
  48.137        <p>
  48.138          The timing functions have the following definitions.
  48.139        </p>
  48.140 @@ -613,7 +669,7 @@
  48.141                <em>Value:</em>
  48.142              </td>
  48.143              <td>
  48.144 -              &lt;time&gt; [, &lt;time&gt;]*
  48.145 +              <span>&lt;time&gt;</span> [, <span>&lt;time&gt;</span>]*
  48.146              </td>
  48.147            </tr>
  48.148            <tr>
  48.149 @@ -642,6 +698,14 @@
  48.150            </tr>
  48.151            <tr>
  48.152              <td>
  48.153 +              <em>Animatable:</em>
  48.154 +            </td>
  48.155 +            <td>
  48.156 +              no
  48.157 +            </td>
  48.158 +          </tr>
  48.159 +          <tr>
  48.160 +            <td>
  48.161                <em>Percentages:</em>
  48.162              </td>
  48.163              <td>
  48.164 @@ -664,6 +728,14 @@
  48.165                Same as specified value.
  48.166              </td>
  48.167            </tr>
  48.168 +          <tr>
  48.169 +            <td>
  48.170 +              <em>Canonical order:</em>
  48.171 +            </td>
  48.172 +            <td>
  48.173 +              <abbr title="follows order of property value definition">per grammar</abbr>
  48.174 +            </td>
  48.175 +          </tr>
  48.176          </tbody>
  48.177        </table><!-- ======================================================================================================= -->
  48.178        <h3 id=transition-shorthand-property><a id=the-transition-shorthand-property->
  48.179 @@ -672,16 +744,6 @@
  48.180        <p>
  48.181          The <code class="property">'transition'</code> shorthand property combines the four properties described above into a single property.
  48.182        </p>
  48.183 -      <p>
  48.184 -        Note that order is important in this property. The first value that can be
  48.185 -        parsed as a time is assigned to the transition-duration. The second value that
  48.186 -        can be parsed as a time is assigned to transition-delay.
  48.187 -      </p>
  48.188 -      <p class="issue">
  48.189 -        An alternative proposal is to accept the font shorthand approach of
  48.190 -        using a "/" character between the values of the same type. e.g. 2s/4s would
  48.191 -        mean a duration of 2 seconds and a delay of 4 seconds.
  48.192 -      </p>
  48.193        <table class="propdef">
  48.194          <tbody>
  48.195            <tr>
  48.196 @@ -697,7 +759,7 @@
  48.197                <em>Value:</em>
  48.198              </td>
  48.199              <td>
  48.200 -              [&lt;'transition-property'&gt; || &lt;'transition-duration'&gt; || &lt;'transition-timing-function'&gt; || &lt;'transition-delay'&gt; [, [&lt;'transition-property'&gt; || &lt;'transition-duration'&gt; || &lt;'transition-timing-function'&gt; || &lt;'transition-delay'&gt;]]*
  48.201 +              <span>&lt;single-transition&gt;</span> [ ',' <span>&lt;single-transition&gt;</span> ]*
  48.202              </td>
  48.203            </tr>
  48.204            <tr>
  48.205 @@ -726,6 +788,14 @@
  48.206            </tr>
  48.207            <tr>
  48.208              <td>
  48.209 +              <em>Animatable:</em>
  48.210 +            </td>
  48.211 +            <td>
  48.212 +              no
  48.213 +            </td>
  48.214 +          </tr>
  48.215 +          <tr>
  48.216 +            <td>
  48.217                <em>Percentages:</em>
  48.218              </td>
  48.219              <td>
  48.220 @@ -748,9 +818,42 @@
  48.221                Same as specified value.
  48.222              </td>
  48.223            </tr>
  48.224 +          <tr>
  48.225 +            <td>
  48.226 +              <em>Canonical order:</em>
  48.227 +            </td>
  48.228 +            <td>
  48.229 +              <abbr title="follows order of property value definition">per grammar</abbr>
  48.230 +            </td>
  48.231 +          </tr>
  48.232          </tbody>
  48.233        </table>
  48.234  
  48.235 +      <div class="prod">
  48.236 +        <dfn id="single-transition">&lt;single-transition&gt;</dfn> = [ none | <span>&lt;single-transition-property&gt;</span> ] || <span>&lt;time&gt;</span> || <span>&lt;single-transition-timing-function&gt;</span> || <span>&lt;time&gt;</span>
  48.237 +      </div>
  48.238 +
  48.239 +      <p>
  48.240 +        Note that order is important within the items in this property:
  48.241 +        the first value that can be parsed as a time is assigned to the
  48.242 +        transition-duration,
  48.243 +        and the second value that can be parsed as a time is assigned to
  48.244 +        transition-delay.
  48.245 +      </p>
  48.246 +
  48.247 +      <p class="issue">
  48.248 +        An alternative proposal is to accept the font shorthand approach of
  48.249 +        using a "/" character between the values of the same type. e.g. 2s/4s would
  48.250 +        mean a duration of 2 seconds and a delay of 4 seconds.
  48.251 +      </p>
  48.252 +
  48.253 +      <p>
  48.254 +        If there is more than one <span>&lt;single-transition&gt;</span> in the shorthand,
  48.255 +        and any of the transitions has
  48.256 +        ''none'' as the <span>&lt;single-transition-property&gt;</span>,
  48.257 +        then the declaration is invalid.
  48.258 +      </p>
  48.259 +
  48.260        <h2 id="starting">
  48.261          Starting of transitions
  48.262        </h2>
  48.263 @@ -1493,6 +1596,7 @@
  48.264  
  48.265  <p>Thanks especially to the feedback from
  48.266  Tab Atkins,
  48.267 +Carine Bournez,
  48.268  Aryeh Gregor,
  48.269  Vincent Hardy,
  48.270  Cameron McCormack,
    49.1 --- a/selectors3/Makefile	Fri Sep 21 16:00:07 2012 -0700
    49.2 +++ b/selectors3/Makefile	Fri Sep 21 16:01:06 2012 -0700
    49.3 @@ -1,46 +1,65 @@
    49.4  # Calling the post-processor with file-upload. Assumes the username
    49.5 -# and password are in ~/.curl-w3.org
    49.6 +# and password are in ~/.curl-w3.org (user = USER:PASS)
    49.7  #
    49.8  # To set a date other than today, use: make cdate=YYYYMMDD
    49.9  #
   49.10 -# Possible other options:
   49.11 +# To set the status, modify one of the "this version" URLs:
   49.12 +# http://www.w3.org/TR/[YEAR]/CR-[SHORTNAME]-[CDATE]/
   49.13 +# Or set that URL to [VERSION] and call Make as: make status=CR
   49.14 +#
   49.15 +#
   49.16 +# Possible other options to add to the curl command below:
   49.17  # -F ids=on
   49.18 +# -F omitdchtml=on
   49.19 +
   49.20 +opts =
   49.21  
   49.22  cdate = $(shell date +%Y%m%d)
   49.23  
   49.24  %.html: %.src.html
   49.25  	@echo "Calling post-processor to generate $@..."
   49.26 -	@curl -F file=@$< -F group=CSS -F output=html -F method=file -s \
   49.27 -	-F date=$(cdate) \
   49.28 -	-K ~/.curl-w3.org http://cgi.w3.org/member-bin/process.cgi >$@
   49.29 +	@curl -K ~/.curl-w3.org -s -S -F output=html -F file=@$< -F group=CSS \
   49.30 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
   49.31 +	https://cgi.w3.org/member-bin/process.cgi
   49.32  %.err: %.src.html
   49.33  	@echo "Calling post-processor to check $<..."
   49.34 -	@curl -F file=@$< -F group=CSS -F output=err -F method=file -s \
   49.35 -	-F date=$(cdate) \
   49.36 -	-K ~/.curl-w3.org http://cgi.w3.org/member-bin/process.cgi >$@
   49.37 +	@curl -K ~/.curl-w3.org -s -S -F output=err -F file=@$< -F group=CSS \
   49.38 +	-F method=file -F date=$(cdate) -F status=$(status) $(opts) -o $@ \
   49.39 +	https://cgi.w3.org/member-bin/process.cgi
   49.40  
   49.41 +# For Dispositions of Comments in css3-background:
   49.42 +%.html: %.txt; awk -f issues-txt-to-html.awk $< >$@
   49.43 +
   49.44 +# Rule to create EPS from FIG
   49.45 +%.eps: %.fig; fig2dev -m 0.8 -L eps -F -c $< $@
   49.46 +
   49.47 +# Rule to create raster image versions of EPS images
   49.48 +%.png: %.eps; convert -density 96x96 $< $@
   49.49  
   49.50  
   49.51  all: check Overview.html
   49.52 -	@echo Done.
   49.53  
   49.54 +# egrep will exit with a zero exit code if there is anything left
   49.55  check: Overview.err
   49.56  	@cat $<
   49.57 -	@grep -q '^No errors$$' $< # Force a non-zero exit code if errors
   49.58 -
   49.59 +	@if egrep -v '^(Warning:|\(Processed in .* seconds\)|No errors)' $<;\
   49.60 +	 then false; else true; fi
   49.61  
   49.62  
   49.63  # A handy shortcut:
   49.64  
   49.65 -commit: update clean all
   49.66 -	cvs commit -m 'Generated. Do not edit!' Overview.html
   49.67 +commit: update all
   49.68 +	hg commit -m 'Generated. Do not edit!' Overview.html || true
   49.69 +	hg push
   49.70  
   49.71  update:
   49.72 -	cvs update
   49.73 +	hg pull -u
   49.74  
   49.75  clean:
   49.76 -	rm Overview.html
   49.77 +	rm -f Overview.html Overview.err
   49.78  
   49.79  
   49.80  
   49.81  .PHONY: check commit update clean
   49.82 +.DELETE_ON_ERROR:
   49.83 +.PRECIOUS: %.png

mercurial